我正在尝试在 Amazon AWS 上设置 Postfix,以便所有电子邮件转发到[电子邮件保护]将被转发到我的个人电子邮箱。我已验证将转发到的个人电子邮箱地址,我已验证[电子邮件保护],并且我不再处于生产模式。
问题似乎是写信给[电子邮件保护]是不是显然,已经验证过了。当邮件通过时,亚马逊拒绝了它,没有转发到我的个人电子邮件。我得到了这样的日志条目:
Apr 20 17:33:12 ip-XX-XX-XXX-XXX postfix/smtp[17335]: E10ED1234: to=<[email protected]>, orig_to=<[email protected]>, relay=email-smtp.us-east-1.amazonaws.com[54.243.161.229]:25, delay=0.28, delays=0.01/0.03/0.12/0.13, dsn=5.0.0, status=bounced (host email-smtp.us-east-1.amazonaws.com[54.243.161.229] said: 554 Message rejected: Email address is not verified. (in reply to end of DATA command))
我有另一个经过验证的电子邮件地址,当我从该地址发送邮件到[电子邮件保护]然后它就会成功将邮件转发到我想要的地方。因此,Amazon SES 的基本设置是有效的,但我显然在设置电子邮件转发/中继方面缺少了一些东西。
任何帮助将非常感激
答案1
要通过 Amazon SES 发送,您需要验证电子邮件“发件人:”字段中使用的每个电子邮件地址,因此,我担心您的设置 Amazon SES 是无用的,因为您可以验证的地址限制为 1000 个。
答案2
我花了一些时间才发现,但 sender_dependent_relayhosts_map 是你的朋友。
看:http://www.postfix.org/postconf.5.html#sender_dependent_relayhost_maps
基本上:您将 Amazon SES 收件人端点定义为从您的域发送的所有邮件的请求端点。所有其他电子邮件应通过 Amazon SES 之外的常规 SMTP 连接发送。
这基本上使服务器成为中继服务器,但是由于您还根据 SASL 身份验证限制了发送方和收件人域,因此只有经过身份验证的用户才能从您的域发送,而未经身份验证的用户只能使用别名和转发地址。
转发的地址将被发送到 SES 之外的您的(可能)经过验证的电子邮件地址。
这当然会引发一系列问题,比如被标记为垃圾邮件发送者,这也是实际上所有邮件都通过 SES 发送的原因之一。但电子邮件至少会从服务器转发到最终收件人,而不是被退回。
答案3
如果您满足以下条件,那么您应该能够完成这项工作:
- 将地址强制设置
From
为您域名中的一个(也许是[email protected]
)。 - 将标题重写
Reply-To
为发件人的地址。
大多数邮件客户端都会尊重该地址Reply-To
,并且 SES 也会对该地址感到满意From
。