В веб-окружении Битрикса по-умолчанию стоит msmtp для отправки писем. Если ваш домен привязан к Яндекс.Почте для домена, и вы хотите отправлять почту через реально существующий почтовый ящик с авторизацией, вам придётся внести в файл конфигурации некоторые изменения, чтобы всё работало хорошо.
Файл /home/bitrix/.msmtprc:
account default logfile /var/log/msmtp.log host smtp.yandex.ru #(smtp.gmail.com - для гугла) # port 587 # именно этот порт! #lkz гугля рекомендуют ставить 465, хотя в просторах сети читал, что и 587 подходит ...# from robot@domain.ru keepbcc on auth on user robot@domain.ru 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 user@gmail.com auth on user user@gmail.com password password tls on tls_starttls on tls_certcheck off keepbcc on
Для проверки корректности настройки можно выполнить из сервера команду:
php -r "mail('test@email.com', 'Test', 'Test');"
Для проверки корректности работ из сайта, необходимо в командной строке выполнить код:
$sendTo='moe_mylo@gmail.com'; $sendFrom = 'otpravitel@bitrix.ru'; 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 site@site.ru auth on user site@site.ru 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 robot@domain.ru keepbcc on auth on user robot@domain.ru password tls on tls_starttls on tls_certcheck off