我正在尝试实施可变信封返回路径 (VERP) http://en.wikipedia.org/wiki/Variable_envelope_return_path管理电子邮件地址的方法(即,当我发送的电子邮件被退回时,我希望将其发送到特定的电子邮件地址,以便我可以更新我的数据库,以避免将来将电子邮件发送到该电子邮件地址)。
根据本文 http://en.wikipedia.org/wiki/Envelope_sender可以指定退回电子邮件发送到的电子邮件地址。在 .Net 中如何做到这一点?
例如说我([电子邮件受保护] /cdn-cgi/l/email-protection) 想给您发送电子邮件 ([电子邮件受保护] /cdn-cgi/l/email-protection). If [电子邮件受保护] /cdn-cgi/l/email-protection不再存在 我希望您的服务器将退回邮件发送至[电子邮件受保护] /cdn-cgi/l/email-protection)。这样当我收到这封退回的电子邮件时我就知道[电子邮件受保护] /cdn-cgi/l/email-protection不再是有效的电子邮件地址,我可以相应地更新我的数据库。
在此示例中,退回地址为:[电子邮件受保护] /cdn-cgi/l/email-protection
如何使用 System.Net.Mail 指定它?
最重要的是,您无法在 .NET 中执行此操作。您只能设置发件人地址,System.Net.Mail 也将使用该地址作为信封发件人。
要执行这样的操作,您需要使用第 3 方 SMTP 对象,如我编写的对象:
http://www.aspnetemail.com http://www.aspnetemail.com
在 aspNetEmail 中,您可以执行以下操作:
EmailMessage msg = new EmailMessage();
msg.ReversePath = "[email protected] /cdn-cgi/l/email-protection
aspNetEmail 将在 SMTP 会话期间使用 MAIL FROM 命令中的 ReversePath 值。我可以轻松地将此属性称为“ReturnPath”或“EnvelopeFrom”。回想起来,EnvelopeFrom 会是一个更好的名字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)