Если почта не отправляется с битрикс машины, она просто не настроена
Для настройки почты Вам понадобится доступ SSH
Рассмотрим на примере подключения яндекс smtp
Для проверки Вам понадобится небольшой кусочек кода, который нужен для проверки работоспособность выполняется в PHP строке
<?
if(mail("email@example.com", "TEST", "TEST"))
echo "работает";
else
echo "не работает";
?>
- зайдите под root пользователем на сервер
- найдите папку /home/bitrix/
- в ней найдите файл .msmtprc(в нем хранится конфигурация smtp)
Для яндекса файл настройки имеет следующий вид:
account default
logfile /home/bitrix/msmtp_default.log
host smtp.yandex.ru
port 465
tls on
tls_starttls off
tls_certcheck off
from sale@domain.ru
keepbcc on
auth on
user login_user
password user_pass
Где переменные:
- sale@domain.ru почта от которой будет отправляться почта на сайте
- login_user ваш логин на почте
- user_pass ваш пароль на почте
Подключение для gmail smtp нужно использовать файл .msmtprc такого содержания
account default
logfile /home/bitrix/msmtp_default.log
host smtp.gmail.com
port 465
tls on
tls_starttls off
tls_certcheck off
from sale@domain.ru
keepbcc on
auth on
user login_user
password user_pass
При попытке отправить почту вы получите письмо о том, что "Заблокирована попытка входа в аккаунт". А в логах будет ошибка "Please log in via your web browser and then try again." с exitcode=EX_NOPERM
Как видно с ошибки у нас недостаточно прав для отправки почты. Для этого делаем следующие действия:
- авторизоваться на gmail
- отключить двухэтапную авторизацию
- перейти https://accounts.google.com/DisplayUnlockCaptcha и предоставить доступ к аккаунту Google
- также разрешаем непроверенным приложениям доступ к аккаунту https://myaccount.google.com/lesssecureapps