Как настроить Exim использовать SendGrid для отправки почты

Продолжаю линейку статей о почтовых сервисах пока не улетучилось вдохновление от недавно решенных проблем.

Я уже описывал как настроить PostFix отправлять почту через MailGun.

В этой статье речь пойдет о настройке Exim для ипользования сервиса доставки почты SendGrid.

Очень удачно совпадает описание настройки разных почтовых сервисов на разных почтовых демонах.

У меня есть сервер с панелью WHM + Exim. Я зарегистрировал бесплатную учетную запись в SendGrid.

Приступаем к настройке. Для начала в панель WHM найдите Exim Configuration Manager
Screenshot from 2016-03-01 13:59:38

Переходим на вкладку Advanced Editor и ищем секцию Section: AUTH. В текстовое поле нужно вставить информацию для авторизацци в sendgrid:

sendgrid_login:
  driver = plaintext
  public_name = LOGIN
  client_send = : <strong>[email protected]</strong> : %password%

Дальше ищем секцию Section: ROUTERSTART. Вставляем в нее слудующее:

send_via_sendgrid:
  driver = manualroute
  domains = ! +local_domains
  transport = sendgrid_smtp
  route_list = "* smtp.sendgrid.net::587 byname"
  host_find_failed = defer
  no_more

Осталось указать транспорт. Для этого находим Section: TRANSPORTSTART и прописываем в текстовом поле следующее:

sendgrid_smtp:
  driver = smtp
  hosts = smtp.sendgrid.net
  hosts_require_auth = smtp.sendgrid.net
  hosts_require_tls = smtp.sendgrid.net

Если вы хотите использовать DKIM тогда TRANSPORTSTART - именно то место, в которое нужно добавить конфигурацию:

DKIM_CANON = relaxed
DKIM_SELECTOR = key1
DKIM_DOMAIN = example.com
DKIM_FILE = /etc/ssl/private/example.com-private.pem