Postfix можно настроить как смарт-хост, который пересылает почту через SMTP-сервер Haskimail. Код приложения при этом менять не нужно, а Postfix сам ставит письма в очередь: если связь с Haskimail временно пропадёт, письма отправятся позже.
Важно: для авторизации нужен пакет SASL. Установите его:
- Debian, Ubuntu:
apt-get install libsasl2-modules - CentOS, RHEL:
yum install cyrus-sasl-plain
Без него возникнет ошибка «SASL authentication failed; no mechanism available».
Для подключения понадобятся SMTP-реквизиты канала — логин и пароль. Они находятся в настройках канала отправки в личном кабинете. По реквизитам Haskimail определяет, через какой канал отправлять письма.
Пересылка всех писем через Haskimail
Добавьте в файл /etc/postfix/main.cf:
# Сервер Haskimail, порт 587 с STARTTLS
relayhost = [smtp.haskimail.ru]:587
# Авторизация по SMTP-реквизитам канала
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:ЛОГИН:ПАРОЛЬ
smtp_sasl_security_options = noanonymous
# Обязательное шифрование
smtp_tls_security_level = encrypt
smtp_tls_loglevel = 1
Вместо ЛОГИН и ПАРОЛЬ подставьте SMTP-реквизиты канала.
Пересылка писем только от определённых отправителей
Если через Haskimail нужно отправлять только письма с определённых адресов, вместо relayhost добавьте в /etc/postfix/main.cf:
sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
Настройки SASL и TLS оставьте такими же, как выше.
Создайте файл /etc/postfix/sender_relay и перечислите в нём адреса:
email@example.ru [smtp.haskimail.ru]:587
Затем соберите из этого файла таблицу, которую читает Postfix:
postmap /etc/postfix/sender_relay
После каждого изменения файла sender_relay команду нужно выполнять заново.
Перезапуск Postfix
После настройки перезапустите Postfix:
systemctl restart postfix
На старых системах без systemd: service postfix restart.
Готово: письма, которые отправляет ваш сервер Postfix, будут уходить через Haskimail — все или только от указанных адресов, в зависимости от выбранного варианта.
Если провайдер блокирует порт 587, используйте 2525. Подробнее о портах — в документации по SMTP.
Настройка для Sendmail — в статье «Как настроить Sendmail для отправки через Haskimail».