标题和信封发件人地址可能不匹配的原因有很多。最关注的是自动发送邮件的过程,在该过程中,传递问题需要报告给一个不代表发送邮件的人,代表发送邮件的人或应该答复谁的地址。正如您所指出的,邮件列表就是一个很好的例子。
从用户的邮件客户端发送的邮件可能与地址不同的主要原因是转发邮件。然后,邮件内容应合理地忠于原始内容,但如果出现传送错误,则应将其报告给转发电子邮件的用户,而不是原始发件人。
除了SMTP标头外,还有各种MIME标头可供各种程序用来区分原始发件人,中间发件人和/或向其报告错误的首选地址。 ,Errors-To等,每个都有不同的语义。其中一些具有标准支持,而更多则没有,但是无论如何仍可能在使用。实际上,各种邮件程序的行为方式都相差很大。
是否建议使用一种寻址方式与您所问的是否“合法”方式不同。如果您在考虑诸如处理潜在垃圾邮件的政策之类的合法性,那么不,我认为您无法以这种方式做出简单区分。
不过,请考虑一下电子邮件的DKIM签名和电子邮件域的邮件服务器的SPF身份验证。如果您要发送大量邮件,则可以通过以下方式对您的邮件进行身份验证可能很重要,因为这可能仅对与您拥有权限的域相关的邮件进行身份验证,这可能会对从标头中寻址邮件产生影响。
-
根据要求扩展:
MIME“答复至”标头指示MUA(邮件用户代理,通常是一个人的邮件客户端)将答复发送至其他地址,而不是MIME“发件人”地址。MTA(邮件传输代理)不会将其用于诸如错误之类的事情。
通常,MTA将使用SMTP信封“邮件发件人”地址向其发送错误。可以使用MIME'Tos-To'标头(它是MTA指令)来覆盖IT。并非所有的MTA都会接受它,因此设置SMTP信封地址是一种劣等的机制,但是在许多情况下,可能可以在邮件中设置MIME标头,但不能设置SMTP信封发件人地址。例如,在共享主机环境中运行的软件可能会遇到这种情况。
“发件人”作为给软件代理的指令更加含糊不清,但它指示谁或什么向谁发送了电子邮件,而发件人地址与发件人地址截然不同,而发件人地址更像是代表谁发送邮件。例如,当您填写在线“您的邮件政治家”表格时,生成的电子邮件非常适合在“发件人”标头中使用您的邮件,但具有与设置该表格的组织相关的发件人地址。
一些MUA软件在转发邮件时会使用“原始发件人”,转发器的地址用于“发件人”标头。其他MUA将不理会发件人地址,并使用“ Resent-From”标头。接收这些不同标题电子邮件的MUA是否有用地解释标题,甚至显示它们都是非常可变的。回复转发给您的邮件时,默认情况下回复给谁?也许最好设置“ Reply-To”标题?
MUA的行为是可变的,并且定义不明确,尽管随着时间的推移它确实在改善。相比之下,信封的语义要定义得多。通常有一个很强的立场,即MTA永远不要担心MIME头,但是随着MTA对邮件内容的责任越来越大(例如,请参见SPF和新兴的DMARC标准),存在使该位置的清晰度降低的压力。诸如Errors-To之类的长期机制也与MTA不关注标头内容的概念相冲突,这就是为什么始终不一致地应用这些机制的部分原因。软件作者的理念各不相同。
您可能会发现浏览http://tools.ietf.org/html/rfc4021#section-2很有用,但是请记住,那里的多种邮件软件的实际做法有所不同,不一定都是标准的标准。
尝试就如何使用邮件提出清晰的哲学是很好的选择,但不要期望其他人也会按照您的想法去做。