Сегодня я вам расскажу как я настраивал отправку писем в Bitrix через SMTP. Для отправки писем мы будем использовать стандартный функционал Bitrix, а именно класс Event и метод send().
Стандартная отправка писем производится очень долго, и при такой отправке, письма часто попадают в спам. Для того чтобы избежать попадание сообщений в спам, необходимо отправлять письма через почтовые ящики доменных почт или сторонних сервисов, типа Яндекс, Mail и т.д.
Данная запись будет пополняться по мере выявления новых решений, поэтому рекомендую добавить её в закладки, чтобы не потерять.
Настройка .settings.php для сайта SMTP
Переходим в файл bitrix/.settings.php и прописываем код для подключения SMTP.
'smtp' => array (
'value' => array(
'enabled' => true,
'debug' => true, //optional
'log_file' => '/var/mailer.log', //optional
),
),
Добавление SMTP аккаунта
Переходим в «Настройки — Настройки продукта — Почтовые и СМС события — Настройки SMTP». Там создаём новый элемент подключения.
В качестве значений мы передаём следующие данные:
- E-mail — почта с которой будут отправляться сообщения
- Имя отправителя — имя пользователя от которого будут отправляться письма
- Логин — логин от аккаунта Яндекс почты
- Сервер — smtp.yandex.ru
- Порт — 25
- Пароль — пароль от приложения (читать ниже)
Далее заходим в аккаунт Яндекса и переходим в раздел «Безопасность». Далее мы нажимаем на «Пароли приложений», выбираем «Почта» и прописываем пароль.
Пароль от приложения вам необходимо прописать в настройки SMTP подключения, в админке сайта (смотреть выше).
Вот так производится настройка SMTP в Bitrix.
Страница долго грузится и выводится ошибка Timeout
Если при настройке SMTP в Bitrix у вас долго грузится страница и потом выводится ошибка типа «Timeout…», то скорее всего вы просто неправильно прописали один из параметров в настройках подключения.
В моём случае, я неправильно указан номен порта. Есть несколько вариантов, в моём случае подошло значение 25.