Postfix
後綴:僅在未指定直接傳遞時使用中繼主機
我閱讀了使用帶有 Postfix 2.6.6的中繼主機。可以為不同的發件人使用具有不同憑據的不同中繼主機。但是我如何使用特定發件人的直接遞送(在這種情況下,只有一個發件人),而所有其他郵件都通過單個中繼主機/憑據(在這種情況下,Sendgrid)發送。
背景:所有郵件都是事務性的,由執行 Postfix 的 LAMP 伺服器上不同域上的 Web 應用程序生成。這些域中的任何一個都沒有 MX 記錄指向該伺服器(它們主要是Google應用程序)。除一個以外的所有域都成功使用了sendmail>postfix>sendgrid>remote SMTP路由。這個域/應用程序需要直接發送(sendmail>postfix>remote SMTP)以實現更好的傳遞跟踪。我不想通過SwiftMailer本身使用直接傳遞,因為它會在應用程序的郵件處理中引入延遲。我希望 SwiftMailer 使用
Swift_SendmailTransport
並通過 Postfix 傳遞,然後我們將梳理 Postfix 日誌以查找傳遞失敗。
您可以使用relayhost配置參數設置預設中繼主機,然後使用sender_dependent_relayhost_maps配置參數覆蓋每個發件人。請注意,最後一個是查找表。
最後,您需要設置smtp_sasl_password_maps以配置每個中繼主機的 smtp 憑據。請記住,您可能需要啟用 smtp sasl 身份驗證:smtp_sasl_auth_enable =yes。您可能需要配置其他 smtp 參數(可能是 stmp_tls_* 等)。