5

我正在写一个发送给朋友的功能,我需要发件人地址作为发件人的电子邮件,以便更加个人化。但是,使用 Amazon SES,我似乎只能从经过验证的地址发送。

我不认为这是一个不常见的问题,并且想知道其他人是如何解决这个问题的?

4

1 回答 1

6

但是,使用 Amazon SES,我似乎只能从经过验证的地址发送。

这是正确的,然而,简单邮件传输协议 (SMTP)的历史缺陷之一(也是人们如此容易成为基于电子邮件的钓鱼攻击的受害者的主要原因之一)是来自邮件传输代理 (MTA)的发件人从邮件客户端的角度来看,根本不需要匹配发件人,请参阅About Header Fields

简单邮件传输协议 (SMTP) 通过定义邮件信封及其一些参数来指定电子邮件消息的发送方式,但它本身并不关心消息的内容。相反,Internet 消息格式 (RFC 2822) 定义了消息的构造方式。

RFC 2822 定义了Originator 字段指示消息来源的邮箱

“发件人:”字段指定消息的作者,即负责编写消息的人或系统的邮箱。“发件人:”字段指定负责实际传输消息的代理的邮箱。例如,如果秘书要为另一个人发送消息,则秘书的邮箱将出现在“发件人:”字段中,而实际作者的邮箱将出现在“发件人:”字段中。

解决方案

如前所述,您只需要在Sender标头字段中提供经过验证的发件人,并且可以提供您喜欢的任何From地址(请参阅附录:标头字段以获取支持的字段列表)。

注意力

由于上述原因,像这样制作您的邮件(尽管完全有效)使其更有可能被相关的邮件传输系统归类为垃圾邮件 - 以下是 AWS 在其关于电子邮件最佳实践的白皮书中描述此问题的方式:

仔细考虑您发送电子邮件的地址。“发件人”地址不仅会在其电子邮件客户端(包括在预览窗格中)中对收件人可见,而且还会在某些 ISP 处收集声誉。这将与主题行一起创建收件人对您的电子邮件的第一印象。

因此,您应该应用可用的措施来验证您的电子邮件,从而反过来提高您的声誉(当然,这是强烈推荐的)。

于 2012-12-05T09:40:33.577 回答