Отправка писем через SMTP на Битрикс
ОглавлениеЧто такое SMTPКогда необходимо использовать SMTPНастройка SMTP в БитриксПример настроек SMTPНастройка SMTP через файл .settings.phpПроверка отправки почтыПроверка подключения к SMTP-серверуНастройка SPF, DKIM и DMARCРаспространенные ошибки SMTPПреимущества SMTP для БитриксЗаключение
По умолчанию 1С-Битрикс отправляет электронную почту через системную функцию PHP mail(). Однако многие хостинги ограничивают работу данной функции или письма попадают в спам. В таких случаях рекомендуется использовать SMTP-сервер для отправки почты.
SMTP позволяет повысить доставляемость писем, настроить авторизацию, использовать корпоративную почту и получать подробную информацию об ошибках отправки.
Что такое SMTP
SMTP (Simple Mail Transfer Protocol) — это стандартный протокол передачи электронной почты между почтовыми серверами. Использование SMTP в Битрикс позволяет:- отправлять письма через корпоративную почту;
- уменьшить вероятность попадания писем в спам;
- использовать защищенные соединения SSL и TLS;
- получать подробные логи отправки;
- обходить ограничения функции mail().
Когда необходимо использовать SMTP
Подключение SMTP рекомендуется в следующих случаях:- не приходят письма с сайта;
- уведомления попадают в папку «Спам»;
- используется корпоративная почта;
- требуется надежная доставка писем;
- необходимо отправлять большое количество уведомлений.
Настройка SMTP в Битрикс
Перейдите в административную панель:Настройки → Настройки продукта → Настройки модулей → Главный модуль
Откройте вкладку настройки почты и укажите параметры SMTP-сервера.
Пример настроек SMTP
| Параметр | Значение |
|---|---|
| SMTP сервер | smtp.example.com |
| Порт | 465 |
| Логин | info@example.com |
| Пароль | ******** |
| Шифрование | SSL или TLS |
Настройка SMTP через файл .settings.php
В современных версиях Битрикс параметры могут храниться в файле:/bitrix/.settings.php
Пример конфигурации:
<?php
return [
'smtp' => [
'value' => [
'host' => 'smtp.example.com',
'port' => '465',
'login' => 'info@example.com',
'password' => 'password',
'secure' => 'ssl'
]
]
];
Проверка отправки почты
После настройки SMTP рекомендуется выполнить тестовую отправку письма. Пример отправки через почтовое событие:<?php
$arFields = [
'EMAIL_TO' => 'admin@example.com',
'MESSAGE' => 'Проверка SMTP'
];
CEvent::Send(
'TEST_SMTP',
SITE_ID,
$arFields
);
?>
После выполнения кода проверьте получение письма и отсутствие ошибок в журнале событий.
Проверка подключения к SMTP-серверу
На сервере можно проверить доступность SMTP командой:telnet smtp.example.com 465
Или:
openssl s_client -connect smtp.example.com:465
Если соединение устанавливается успешно, сервер доступен.
Настройка SPF, DKIM и DMARC
Для повышения доставляемости почты рекомендуется настроить DNS-записи:- SPF — разрешает отправку почты от имени домена;
- DKIM — подписывает письма цифровой подписью;
- DMARC — определяет политику проверки сообщений.
Распространенные ошибки SMTP
Ошибка авторизации
Проверьте правильность логина и пароля почтового ящика.Connection timed out
Сервер не может подключиться к SMTP-хосту. Возможна блокировка порта со стороны хостинга.SSL Certificate Error
Ошибка возникает при проблемах с SSL-сертификатом почтового сервера.Relay Access Denied
SMTP-сервер запрещает отправку почты без авторизации.Преимущества SMTP для Битрикс
- стабильная отправка писем;
- высокая доставляемость уведомлений;
- поддержка корпоративной почты;
- защищенное соединение;
- подробная диагностика ошибок.