Настройка msmtp для работы с Яндекс.Почтой и GMail

Моя статья из моего блока на сайте компании 1С-Битрикс о настройке msmtp для работы с Яндекс.Почтой и GMail ...

Была у меня в закладках хорошая статейка, а щас вот открыл - а ее нет:( хорошо, хоть у гугла есть сохраненная копия страницы. автор, простите за репост без подписи ...

В веб-окружении Битрикса по-умолчанию стоит msmtp для отправки писем. Если ваш домен привязан к Яндекс.Почте для домена, и вы хотите отправлять почту через реально существующий почтовый ящик с авторизацией, вам придётся внести в файл конфигурации некоторые изменения, чтобы всё работало хорошо.

Файл /home/bitrix/.msmtprc:

account default
logfile /var/log/msmtp.log
host smtp.yandex.ru    #(smtp.gmail.com - для гугла) #
port 587 # именно этот порт!   #lkz гугля рекомендуют ставить 465, хотя в просторах сети читал, что и 587 подходит ...#
from [email protected]
keepbcc on
auth on
user [email protected]
password <password>
tls on
tls_starttls on # обязательно для Яндекс.ПДД
tls_certcheck off

P.S: при работе с GMail вторую строку (tls_starttls) наоборот включать не нужно.

Полный файлик с настройками для gmail:

account default
logfile /var/log/msmtp.log
host smtp.gmail.com
port 587
from [email protected]
auth on
user [email protected]
password password
tls on
tls_starttls on
tls_certcheck off
keepbcc on

Для проверки корректности настройки можно выполнить из сервера команду:

php -r "mail('[email protected]', 'Test', 'Test');" 

Для проверки корректности работ из сайта, необходимо в командной строке выполнить код:

$sendTo='[email protected]';
$sendFrom = '[email protected]';
if (mail($sendTo,"test subject", "test body","From: ".$sendFrom))
     echo "Сообщение передано функции mail, проверьте почту в ящике.";
else
     echo "Функция mail не работает, свяжитесь с администрацией хостинга.";

Только email-адресы ставьте ваши вместо адресов из примера

Пример из комментариев к посту в блоке с примером конфигурационного файла для настройки яндекс-почты на домене:

account default
logfile /var/log/msmtp.log
host smtp.yandex.ru
port 587
from [email protected]
auth on
user [email protected]
password 123456
tls on
tls_starttls on
tls_certcheck off
keepbcc on

Пример настройки для mail.ru

account default
logfile /var/log/msmtp.log
host smtp.mail.ru
port 587 # именно этот порт! На указанный в манах маила порт 465 не отправляется - просто висит и все
from [email protected]
keepbcc on
auth on
user [email protected]
password
tls on
tls_starttls on
tls_certcheck off

И, напоследок, небольшой пример из форума по настройке отправки почты с сайта (только! для случаев, когда сайт не должен получать почту!). Перечислю просто основные шаги. По ссылке можно посмотреть со скриншотами и подробными комментариями.

  1. Авторизуемся в BitrixVM.
  2. Если это первый запуск и пул сайтов еще не создавался - создаем ("Manage Hosts in the pull" -> "Create ...")
  3. Заходим в "Manage sites in the pull"
  4. Выбираем "Change email settings on site"
  5. И по шагам делаем следующее:
    • Вводим Enter from adress - это адрес по умолчанию с которого будут приходить все электронные письма с сайта. Жмем Enter после ввода email адреса.
    • Enter server address or DNS - это IP адрес сервера или DNS. Для текущего сервера я оставил пустым (тоесть по умолчанию будет использоваться значение указанное в скобках). Жмем Enter.
    • Enter server port - тут можно жать сразу Enter если у вас почта без шифрования (порт по умолчанию 25). Для шифрования указываете 443.
    • Do you need auth options for - Нужна ли вам авторизация на SMTP сервере. Если у вас только отправляются уведомления с сервера то жмете N.
    • Do you need TLS enabled for - Включить ли TLS. Я не включал, так как с включенным TLS поста у меня не приходила.
    • В конце жмете Enter и проверяете работает ли почта. Я проверял через уведомления с сайта.

Если почта уходит с сервера, но не уходит с сайта

Если почта уходит с сервера, но не уходит с сайта рекомендую проверить права доступа к файлу конфигурации (/home/bitrix/.msmtprc). Файл должен принадлежать пользователю "bitrix" и иметь права доступа на чтение и запись только из-под этого пользователя.

Если указанное утверждение не выполняется - нужно сменить владельца:

chown bitrix:bitrix .msmtprc 

И установить права пользователя на чтение/запись:

chmod 600  .msmtprc 
Количество показов: 32580
08.07.2014

Возврат к списку

Если вам была полезна статья можете отблагодарить автора:
Ethereum:

0x16Df809287333C49D3A237296C6248A6c08702Bc

Разработка сайта

Подайте заявку на разработку сайта на базе готового решения от компании 1С-Битрикс или одного из партнеров компании. Максимально подробно опишите, чему будет посвящен сайт, если это интернет-магазин - что он будет продавать, нужна ли мультиязычность, будут ли разные типы цен (розница, опт, крупный опт), будет ли интеграция с 1С, будет ли выгрузка товаров на различные торговые площадки...

Сопровождение сайта

Вы можете подать заявку на сопровождение вашего сайта на базе 1С-Битрикс. Сопровождение включает в себя: проверка актуальности обновлений сайта, проверка актуальности резервной копии, консультации по сайту. Опишите в заявке, какие еще объемы планируются на сопровождении и на какой срок вы планируете заключить договор на сопровождение - мы подберем подходящий вам бюджет на сопровождение

Работы по сайту

Вы можете подать заявку на выполнение определенного объема работ по сайту. Опишите в заявке объем работ. Это может быть разработка какого-то нового функционала, доработки по имеющемуся функционалу, доработки под требования сео-специалистов. На основании заявки вам будет сформирован бюджет работ, а также названы сроки на выполнение тех или иных работ.