Что умеет решение
Письма, отправленные с сайта через стандартную функцию PHP mail(), часто не доходят до получателя. Это происходит из-за отсутствия настройки sendmail на хостинге, несоответствия адреса отправителя домену сайта или отсутствия репутации у сервера. Почтовые сервисы могут помечать такие сообщения как спам или вовсе отклонять их. Решением является отправка через SMTP-серверы почтовых ящиков Яндекса, Mail.ru, Gmail или хостинг-провайдера. Модуль реализует этот механизм, не требуя изменений в шаблонах сайта.
Модуль интегрируется в штатную систему отправки 1С-Битрикс. Через него проходят все исходящие сообщения: почтовые события, ответы из форм обратной связи, уведомления о восстановлении пароля, оповещения интернет-магазина и рассылки. Для работы не требуется править шаблоны или программный код, а файл init.php остается нетронутым.
Настройки настраиваются отдельно для каждого сайта. В мультисайтовой конфигурации у каждого ресурса могут быть свои SMTP-серверы, почтовые ящики и правила отправителя. Определение сайта для отправки письма происходит автоматически на основе почтового события, адреса отправителя или домена запроса.
Настройка отправителя. Почтовые серверы принимают письма только от адреса, совпадающего с учётной записью. Модуль позволяет подменить поле From на логин, произвольный e-mail или адрес домена сайта, указав при этом нужное имя отправителя. Копии, скрытые копии, вложения, а также HTML и текстовые версии письма сохраняются в точности так, как они были сформированы на сайте.
Проверка соединения без отправки. Кнопка в настройках инициирует подключение к серверу, проходит авторизацию и выводит результат проверки до сохранения конфигурации и без отправки тестового сообщения.
Тестовая отправка. На отдельной странице выполняется отправка письма с параметрами выбранного сайта тем же маршрутом, что и все остальные письма. После отправки доступна ссылка на запись в журнале.
Журнал отправки. Для каждого сообщения фиксируются: дата, сайт, источник (сайт, веб-формы, рассылки, Email-маркетинг), получатели, тема, тип подключения, время обработки, статус и текст ошибки почтового сервера. Доступен фильтр по всем полям и детальная страница с исходными заголовками и текстом письма. Срок хранения и объём журнала настраиваются отдельно; текст писем можно не сохранять.
Повторная отправка. Письма, отклонённые сервером, можно отправить повторно вручную через журнал — по одному или списком. Прямые отправки модуль повторяет автоматически: используется агент с увеличивающейся паузой между попытками. Письма, генерируемые почтовыми событиями, обрабатывает ядро 1С-Битрикс, что исключает появление дублей.
DKIM-подпись. Укажите домен, селектор и приватный ключ — письма будут подписаны, а получатели увидят статус DKIM: pass.
Отдельный SMTP для рассылок. Письма модулей «Рассылки» и «Email-маркетинг» можно направлять через другое подключение, например через сервис массовых рассылок, не меняя адрес отправителя.
Уведомление об ошибках. После серии неудачных попыток отправки в панели администратора появляется уведомление со ссылкой на журнал; оно исчезает после первой успешной отправки.
Диагностика. Вкладка в настройках показывает текущий путь отправки почты сайта: активен ли модуль, не перехватывает ли отправку другой файл, не включён ли SMTP главного модуля в .settings.php, а также наличие ключа шифрования паролей.
Лог SMTP-диалога. При включённой отладке модуль записывает обмен командами с почтовым сервером в закрытый файл и отображает его на отдельной странице, что позволяет анализировать отказы сервера без доступа к консоли.
Важные сведения
Пароли SMTP и ключи DKIM хранятся в зашифрованном виде с использованием ключа сайта и никогда не отображаются в интерфейсе формы.
Модуль использует библиотеку PHPMailer, входящую в состав основного модуля 1С-Битрикс, и не подключает сторонних зависимостей.
Стандартный тест «Отправка почты» в разделе «Проверка системы» выполняет прямой вызов функции PHP mail() и не проверяет логику работы данного модуля. Для проверки корректности используйте встроенную функцию тестовой отправки модуля.
Если в файле bitrix/.settings.php активирована секция SMTP основного модуля, ядро системы отправляет письма через неё до обращения к модулю. Диагностика автоматически предупредит о таком конфликте.
Модуль объявляет функцию custom_mail(). Если эта функция уже объявлена в файле init.php (например, другим модулем SMTP), объявление в модуле необходимо удалить. Диагностика укажет на конфликтный файл.
Для «Top Man Digital: Отправка почты через SMTP» команда General iT может выполнить подключение, настройку и контрольную проверку после установки.