我有一个网络应用程序,委员会主席将通过电子邮件与委员会成员进行沟通。所有这些用户都将拥有Web应用程序外部的电子邮件帐户以及托管Web应用程序的域。成员的任何回复都需要指向委员会主席用户的电子邮件,而不是Web应用程序域的帐户。我提出的实现这一目标的唯一两种方法是
我有什么替代方案吗?
答案 0 :(得分:1)
传统上,这是Sender
电子邮件标题的目的。如果您希望用户From
向您发送电子邮件,则只需将Sender
标题设置为您网域上的电子邮件地址,但From
为该用户。此外,SMTP信封发件人也应该在您的域中。然后,您将正确地声明您是反垃圾邮件目的的邮件发件人,您将收到任何退回邮件,但电子邮件客户端会知道该邮件是来自“真实”用户,并将直接相应地回复。通常,电子邮件客户端会报告发件人和发件人,说“来自my-server@website.example.net代表real-user@example.com”,但显然细节取决于所使用的电子邮件客户端。 / p>
有关详细信息,请参阅What's the difference between Sender, From and Return-Path?和OpenSPF Web Generated Email Best Practices。
然而,现在DMARC出现了。它已决定验证应仅基于From
标头。理论上,最终用户无法知道特定Sender
是否实际上被授权“代表”From
标题中列出的用户发送邮件。虽然它可能不是由于它忽略传统的Sender
而做出的决定,但现在需要处理它,就好像From
中列出的用户域一样将DMARC记录设置为q=reject
,然后其他任何人(包括您尝试在用户完全批准后发送邮件的网络表单)都可以发送From
该域的邮件。越来越多的域名正在启用DMARC,当他们这样做时,无论设置了哪些其他标头,您的表单都无法发送电子邮件From
。
唯一的另一种选择是让电子邮件完全From
您的应用程序,但将Reply-To
标题设置为电子邮件程序应发送回复的位置。此外,SMTP信封发件人应该是您的应用程序,理想情况下应设置为可以处理退回邮件或其他错误的地址。您不需要包含任何说明,因为电子邮件客户端非常支持Reply-To
标头,因为它指示了应该针对哪些回复。
请参阅DMARC常见问题解答条目“Why are messages I send on behalf of visitors to my website being blocked?”。