我正在配置一个新的 Web 服务器,我需要使用 PHP 脚本制作电子邮件以便发送。大多数邮件应使用 mandrill SMTP 发送,有些则“直接”从我的服务器发送到电子邮件服务。我在 mandrill 注册了一个帐户,并根据以下配置了 postfix 服务器这教程。我创建了 /etc/postfix/sasl_passwd 并编辑了 main.cf 文件。我将中继主机设置为 mandrill SMTP。
中继主机 = [smtp.mandrillapp.com]
如果我尝试在以这种方式配置 postfix 时发送消息 - 所有消息都使用 mandrill SMTP 发送。我试过了,它有效。但正如我所说,我需要直接发送一些消息。我通过设置不同的发件人(“发件人”)电子邮件地址来确定哪些电子邮件应该使用 SMTP 发送,哪些电子邮件应该直接发送。在我提到的教程中,我发现要完成我需要的操作,我需要使用 sender_dependent_relayhost_maps 选项并删除中继主机的值。
我使用以下配置
中继主机 =
sender_dependent_relayhost_maps = hash:/etc/postfix/relayhost_maps
我创建了 /etc/postfix/relayhost_maps,它看起来像这样
[电子邮件保护] [smtp.mandrillapp.com]
现在所有消息都应直接发送,除了来自[电子邮件保护]必须使用外部 SMTP 发送。问题是当我尝试使用此配置发送消息时 -全部直接发送的消息(当我收到它时我在 Gmail 中看到它)。
我尝试在 /etc/postfix/relayhost_maps 中输入不同的 SMTP 主机、不同的电子邮件地址,但所有消息仍然直接发送。
请帮我解决这个问题。