Настройка почты в Drupal 8 и 9

Тот, кто в совершенстве овладеет электронной почтой, будет миллионером в двадцать первом веке

Билл Гейтс

Одна из самых частых задач это настройка корректной отправки почты с сайта, несмотря на то, что Drupal умеет отправлять почту и без дополнительных модулей, но эти письма большинством почтовых сервисов сразу помечаются как спам. Что же нужно сделать для того чтобы письма приходили в папку Входящие? Давайте разберемся.

SSL Сертификат для Вашего домена

Если у Вас еще не установлен SSL сертификат для домена, то Вам обязательно нужно это сделать либо следуя инструкциям Вашего хостинг провайдера, либо обратившись в техническую поддержку хостинг провайдера.

Обратите внимание, что достаточно использовать бесплатный сертификат Let’s Encrypt. Многие хостинг компании об этом умалчивают в попытке навязать Вам платные сертификаты!

Использование Yandex Connect или Google GSuit

Эти два сервиса позволяют Вам завести корпоративную почту для Вашего домена, электронные адреса будут иметь вид your_mail@your-site.ru

Какой из них выбрать? Решайте исходя из Ваших личных предпочтений, возможностей сервисов, тарифов. Для реализации нашей задачи подходит по сути любой сервис обеспечивающий возможность работать по протоколам POP3, IMAP, SMTP.

Чтобы прикрепить свой домен к выбранному сервису следуйте инструкциям и обратите внимание на то, что для вступления изменений в силу может потребоваться до 72 часов!

По этому приступать к следующим шагам, возможно, придется спустя пару-тройку дней.

Настройка сайта

Обратите внимание, что основным email Вашего сайта должна быть именно корпоративная почта! Для этого перейдите в настройки сайта your-site.ru/admin/config/system/site-information и укажите в поле “E-mail адрес” Вашу корпоративную почту

Снимок экрана

Mail system

Популярный модуль позволяющий настроить отправку почты с Вашего сайта.
Ссылка на модуль

Настройка

Скачав и установив модуль перейдите к его настройкам your-site.ru/admin/config/system/mailsystem, пока там ничего менять не нужно, так как для работы с Yandex Connect или G Suite от Google нам нужно будет установить еще один модуль обеспечивающий работу с почтой по протоколу SMTP. это модуль PHPMailer SMTP.

PHPMailer SMTP

Данный модуль обеспечивает взаимодействие Drupal и почтой по протоколу SMTP используя бесплатную библиотеку PHPMailer.
Ссылка на модуль

Установка библиотеки PHPMailer

Если у Вас установлен Composer (об этом можете прочитать в моей статье “Как развернуть и настроить DEV версию сайта”) то Вам достаточно подключиться к Вашему серверу по протоколу SSH, перейти в корневую директорию сайта и выполнить команду:

composer require drupal/phpmailer_smtp

Если же Composer не установлен то нужно скачать библиотеку PHPMailer по этой ссылке https://github.com/PHPMailer/PHPMailer распаковать и поместить папку phpmailer в директорию vendor/phpmailer/ в корне Вашего сайта, в итоге должно выглядеть примерно так

Снимок экрана

Настройка PHPMailer SMTP

Скачав и установив модуль перейдите к его настройкам your-site.ru/admin/config/system/phpmailer-smtp далее я буду показывать на примере Yandex Connect, для G Suite настройки будут несколько другие, но разобраться Вам не составит труда, в крайнем случае всегда можете обратиться за помощью ко мне!

Первым делом нужно указать сервер, порт и протокол

Снимок экрана

Далее в группе “SMTP аутентификация” нужно указать Ваш корпоративный email и пароль от него

Снимок экрана

В некоторых случаях в “Advanced SMTP settings” нужно будет поменять значение “SMTP timeout” повысив его, делается это в случае возникновения ошибок и в разных случаях может сильно отличаться.

Чтобы проверить работает ли модуль можно сделать тестовую отправку письма на Ваш личный почтовый ящик

Снимок экрана

Нажав на кнопку “Сохранить конфигурацию” проверьте пришло ли тестовое письмо, оно может прийти не сразу, все зависит от Вашего почтового сервиса!

Настройка Mail System для работы с PHPMailer SMTP

Теперь пришло время вернуться к настройкам Mail System your-site.ru/admin/config/system/mailsystem

Убедившись что модуль PHPMailer SMTP работает Вы можете указать его как основной сервис для работы с почтой

Снимок экрана

А также задать, если это необходимо, свои настройки для конкретных модулей, я например задал свои настройки (ключ рассылки) для модуля Contact входящего в состав Drupal и отвечающий за формы обратной связи Вашего сайта, такие как your-site.ru/contact

Ключ рассылки используется для идентификации писем в случае массовой отправки, помогает не попасть в спам, указать название ключа можно произвольно, но только с использованием латинских букв и цифр!

Снимок экрана

Теперь Ваш сайт готов для работы с почтой!

Если у Вас появились вопросы, не стесняйтесь пишите мне!
Оставьте Ваш комментарий