我正在使用setFrom()方法指定“FROM”地址,但我仍然收到具有SMTP身份验证邮件ID的“FROM”地址的邮件,并希望动态设置“FROM”地址,该地址不断变化。如何符合RFC282标准实现此目标。
我正在使用setFrom()方法指定“FROM”地址,但我仍然收到具有SMTP身份验证邮件ID的“FROM”地址的邮件,并希望动态设置“FROM”地址,该地址不断变化。如何符合RFC282标准实现此目标。
谷歌的解决方案是这样的
Gmail允许您使用另一个电子邮件地址作为发件人,而不是您的Gmail地址。此功能可帮助您从Gmail界面管理多个帐户;仅当您已拥有与备用地址链接的电子邮件帐户时才有效。
选择“帐户和导入”选项卡(如果您使用Google应用程序,则为“帐户”选项卡)。 在“发送邮件作为”下,单击“添加其他电子邮件地址”。 在“电子邮件地址”字段中,输入您的姓名和备用电子邮件地址。 选择以下两个选项之一: 使用Gmail的服务器发送邮件(这更易于设置) 使用其他电子邮件提供商的SMTP服务器(我们建议专业邮件帐户或域名使用此选项)。 Google应用程序用户注意事项:根据您的域2类型,此功能可能已被默认禁用。如有疑问,请与管理员联系。 如果您选择使用Gmail的服务器:
单击“下一步>>”,然后单击“发送验证”。 Gmail将向您的其他电子邮件地址发送验证消息,以确认您拥有它。
有关更多信息,请按以下链接
https://support.google.com/mail/bin/answer.py?hl=zh-Hans&answer=22370。
所涉及的开销是,任何新的发件地址都需要在Gmail认证邮件帐户中设置别名。这不适用于企业可扩展应用程序。
另一种解决方案是安装邮件服务器(hmailServer)。此服务器允许您设置自定义发件地址。
如果有人知道其他解决方案,请告诉我。
这取决于你的邮件服务器。通常,邮件服务器会阻止你使用除实际登录名以外的任何发件地址,以防止垃圾邮件。根据你的邮件服务器不同,可能有方法说服它允许你使用其他的发件地址。
您所讨论的是两件不同的事情:
您提到的id是smtp握手协议的一部分,通常映射到mime头中的“Return-path”字段。
而在“FROM”字段中出现的id实际上是在撰写邮件时由邮件服务器添加的。
因此,如果您可以修改mime头,则确保“FROM:”字段包含您要设置的id,而不是smtp身份验证id。
顺便说一下,这是rfc822标准。
曾在rediffmail技术团队工作,以开发和增强smtp、pop和imap协议。