Postfix: использовать relayhost только если прямая доставка не указана
Я прочитал об использовании relayhost с Postfix 2.6.6. Можно использовать разные хосты ретрансляции с разными учетными данными для разных отправителей. Но как мне использовать прямую доставку с определенными отправителями (в данном случае только с одним отправителем), в то время как вся остальная почта отправляется через один узел ретрансляции / учетные данные (в данном случае, Sendgrid).
Справочная информация: вся почта является транзакционной и генерируется веб-приложениями в разных доменах на сервере LAMP, где работает Postfix. Никакие записи MX ни для одного из этих доменов не указывают на этот сервер (в основном это приложения Google). Все домены, кроме одного, успешно используют sendmail>postfix>sendgrid> удаленный SMTP- маршрут. Этот один домен / приложение необходимо отправить напрямую (sendmail> postfix> remote SMTP), чтобы улучшить отслеживание доставки. Я не хочу использовать прямую доставку через сам SwiftMailer, потому что это вносит задержку в обработку почты приложения. Я хочу, чтобы SwiftMailer использовал Swift_SendmailTransport
и доставлять через Postfix, а затем мы прочесываем журналы Postfix на предмет ошибок доставки.
1 ответ
Вы можете установить по умолчанию relayhost с помощью параметра конфигурации relayhost, а затем переопределить его для каждого отправителя с помощью параметра конфигурации sender_dependent_relayhost_maps. Обратите внимание, что последняя таблица поиска.
Наконец, вам нужно установить smtp_sasl_password_maps, чтобы настроить учетные данные для каждого хоста relayhost. Помните, что вам, вероятно, нужно включить аутентификацию SMTP sasl: smtp_sasl_auth_enable= yes. Вам может потребоваться настроить другие параметры smtp (возможно, stmp_tls_ * и т. Д.).