Настройка очереди отправки писем по smtp-протколу

Главные вкладки

Аватар пользователя fox72 fox72 12 октября 2015 в 22:31

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

Для отправки клиенту, открывшему заказ, сообщения по электронной почте,
был установлен модуль SMTP Authentication Support
И настроена отправка через почтовый сервер провайдера хоста (ru-center).
Ну вы уже поняли. Письма уходили через раз.
Чаще вываливались сообщения типа "Невозможно отправить письмо..."
Путем гугления и поиска по этому сайту выяснил, что надо организовать очередь отправки писем,
и взвалить эту задачу на cron.
Чтобы припахать cron хостинг-провайдера вписал через панель управления в планировщик заданий правило (интервал выполнения - 5 мин)
/usr/local/bin/wget -O - -q "myhost.ru/cron.php?cron_key=******************************************"
cron_key был найден в Cron settings (раздел installation) (путь myhost.ru/admin/config/system/cron/settings)
Также был установлен модуль Elysia Cron, который, похоже тормошится планировщиком. Настроек в нем не менял.
Далее я докопался до почты. В настройках модуля SMTP Authentication Support
поставил галочку напротив опции "Send mail by queue".
Далее был установлен модуль Queue Mail.
В нем была задействована опция "Send queued mail on cron run",
а в текстовом поле "Mail IDs to queue" введены шаблоны идентификаторов

smtp_*
webform_*
mimemail_*
contact_*

Установлены модули Mail System, Mime Mail (Mime Mail Action, Mime Mail CSS Compressor).

В настойках Mail System по адресу myhost.ru/admin/config/system/mailsystem
были установлены следующие значения параметров
Класс интерфейса MailSystemInterface, используемый по умолчанию на всем сайте - SmtpMailSystem
Mime Mail модуль class - SmtpMailSystem.
Эти две настройки мне кажутся самыми главными. Без них почта похоже не будет отправляться
модулем SMTP Authentication Support. (Кто в теме, подтвердите или опровергните, пож-ста)

В настройках модуля Mime Mail
введен е-майл отправителя, включена опция "Use simple address format" (ну это вроде вкусовщина)
выключена опция "Include site style sheets" (и это тоже вкусовщина).

Все. Вроде ничего не забыл.

Итог:
Почта ворочается, не отправленных сообщений пока нет, жду когда бомбанет.

Комментарии

Аватар пользователя aquamaster aquamaster 29 января 2016 в 22:56

fox72 wrote:

Эти две настройки мне кажутся самыми главными.

Да, точно. Пробовал делать настройки по мануалу на drupal.org, абзац Alternative Approach: Mail System + SMTP + Mime Mail, связки классов - полный бред, сыпятся ошибки что в кроне через SSH, что журнале.
Всё это делалось для модуля Simplenews. Его тоже пришлось добавлять в mailsystem, но только не со значением SmtpMailSystem, а MimeMailSystem. Иначе в письмах отправлялся html-код.
2 дня плясал с бубном, пока не наткнулся на этот пост. Автору респект!