如何使用我的用户(未经验证)地址作为Amazon SES的发件人?

5

我正在编写一个发给朋友的功能,我希望发送方地址更个性化一些,但是使用Amazon SES时,似乎只能从已验证的地址发送。

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

1个回答

6
然而,使用Amazon SES似乎只能从已验证的地址发送邮件。这是正确的,然而,简单邮件传输协议(SMTP)的历史缺陷之一(也是人们容易成为基于电子邮件的钓鱼攻击受害者的主要原因之一)是,从邮件传输代理(MTA)的角度来看,发件人根本不需要与邮件客户端的发件人相匹配,详见关于标题字段
“简单邮件传输协议(SMTP)”指定了如何通过定义邮件信封及其某些参数来发送电子邮件消息,但它不涉及消息内容。相反,“互联网消息格式”(RFC 2822)定义了如何构造消息。
RFC 2822定义了发件人字段表示消息来源的邮箱

"From:"字段指定消息的作者,即写消息的人或系统的邮箱。 "Sender:"字段指定实际传输消息的代理的邮箱。例如,如果秘书为他人发送消息,则秘书的邮箱将出现在"Sender:"字段中,而实际作者的邮箱将出现在"From:"字段中。

解决方案

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

注意事项

由于上述原因,像这样撰写您的邮件(尽管完全有效)会使涉及到的邮件传输系统更有可能将其归类为垃圾邮件 - 以下是AWS在他们的电子邮件最佳实践白皮书中描述此问题的方式:
“仔细考虑您发送电子邮件的地址。发送人地址不仅将在收件人的电子邮件客户端(包括预览窗格中)可见,而且还将在某些ISP中收集声誉。这个,加上主题行,将创建收件人对您的电子邮件的第一印象。”
因此,您应该应用可用的措施验证您的电子邮件以反过来提高您的声誉(当然非常推荐)。

根据https://forums.aws.amazon.com/thread.jspa?threadID=150255上的讨论,这似乎不是真的。(可能当时是,现在就不是了。) - Isaac
同意@Isaac的观点。事实上,我现在正在进行这方面的实验。在“发件人”头中使用经过验证的地址,在“From”头中使用未经验证的地址会生成以下错误:554 Message rejected: Email address is not verified. The following identities failed the check in region US-WEST-2: my_unverified_address@example.com - rinogo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接