![Postfix:仅在未指定直接传送时使用中继主机](https://linux22.com/image/641945/Postfix%EF%BC%9A%E4%BB%85%E5%9C%A8%E6%9C%AA%E6%8C%87%E5%AE%9A%E7%9B%B4%E6%8E%A5%E4%BC%A0%E9%80%81%E6%97%B6%E4%BD%BF%E7%94%A8%E4%B8%AD%E7%BB%A7%E4%B8%BB%E6%9C%BA.png)
我读过关于使用中继主机Postfix 2.6.6 中。可以为不同的发件人使用不同的中继主机和不同的凭证。但如何使用直接投递给特定发件人(在这种情况下,只有一个发件人),而所有其他邮件都通过单个中继主机发送/credential(在本例中,发送网格)。
背景:所有邮件都是事务性的,由 Postfix 运行的 LAMP 服务器上不同域上的 Web 应用程序生成。这些域中的任何一个都没有指向此服务器的 MX 记录(它们大多是 Google 应用程序)。除一个域外,所有域都成功使用了sendmail>postfix>sendgrid>远程 SMTP路由。该域/应用程序需要直接发送(sendmail>postfix>远程 SMTP)以便更好地跟踪配送情况。我不想使用直接配送方式SwiftMailer因为它会在应用程序的邮件处理中引入延迟。我希望 SwiftMailer 使用Swift_SendmailTransport
并通过 Postfix 进行传送,然后我们将梳理 Postfix 日志以查找传送失败。
答案1
您可以使用以下方式设置默认中继主机中继主机配置参数,然后使用以下方法覆盖每个发送者sender_dependent_relayhost_maps配置参数。注意最后一个是查找表。
最后,你需要设置smtp_sasl_密码映射配置每个中继主机的 smtp 凭证。请记住,您可能需要启用 smtp sasl 身份验证:smtp_sasl_auth_enable=是的。您可能需要配置其他 smtp 参数(可能是 stmp_tls_* 等)。