Отправка email c Drupal сайтов. Настраиваем Exim4 на Debian

После того как настроен веб-сервер необходимо позаботится об отправке писем с Drupal сайта, например подтверждение email при регистрации, смена пароля.

Для получения входящей почты для домена лучше использовать сервисы типа "Почта для домена" от Яндекс или Google Apps. Там и фильтрация спама и уровень надежности высокий.

Для отправки почты с Drupal сайта можно использовать модуль SMTP и через какой-нибудь сервис отправлять почту. А можно настроить собственный SMTP сервер. В этой статье мы настроим сервер на базе Exim для отправки исходящей почты.

Установка и настройка exim

aptitude install exim4
dpkg-reconfigure exim4-config

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

  1. General type of mail configuration: internet site; mail is sent and received directly using SMTP
  2. System mail name: обратная зона (Reverse DNS) для IP адреса сервера, например (drupal-admin.ru)
  3. IP-addresses to listen on for incoming SMTP connections: 127.0.0.1
  4. Other destinations for which mail is accepted: домен, с которого мы планируем отправлять письма с этого сервер. Через пробел можно указать несколько доменов.
  5. Domains to relay mail for: пусто
  6. Machines to relay mail for: пусто
  7. Keep number of DNS-queries minimal (Dial-on-Demand)? No
  8. Delivery method for local mail: Maildir
  9. Split configuration into small files? No.

Проверить работу можно следующей командой:

echo "This is a short email" | mail -n -s "Sending email" address@mail.com

Вместо адреса address@mail.com введите свой. На него придет сообщение с темой "Sending email" и содержимым "This is a short email". Рекомендую с хостером договориться об изменении имени сервера и записи Reverse DNS на имя домена с которого отправляете email. Почта будет меньше в спам попадать.

Изменение настроек Drupal

Чтобы Drupal сайт отправлял уведомления с указанием в поле "От:" address@mail.com необходимо указать его на странице администрирования основных настроек сайта admin/config/system/site-information