如何使用System.Net.Mail设置退回地址?

时间:2010-01-16 11:17:44

标签: .net email bounce

我正在尝试实施Variable envelope return path (VERP)方法来管理电子邮件地址(例如,当我发送的电子邮件退回时,我希望将其发送到特定的电子邮件地址,以便我可以更新我的数据库以避免发送将来发送到该电子邮件地址的电子邮件。)

根据this article,可以指定退回电子邮件发送到的电子邮件地址。你是如何在.Net中做到的?

例如说我(me@myserver.com)想要发送电子邮件给你(you@yourserver.com)。如果you@yourserver.com不再存在,我希望你的发送电子邮件发送到bounce-you=yourserver.com@myserver.com)。这样,当我收到这封退回的电子邮件时,我知道you@yourserver.com不再是有效的电子邮件地址,我可以相应地更新我的数据库。

在此示例中,退回地址为:bounce-you=yourserver.com@myserver.com
你如何使用System.Net.Mail指定它?

1 个答案:

答案 0 :(得分:3)

最重要的是你不能在.NET中这样做。您只能设置FROM地址,System.Net.Mail也将使用该地址作为Envelope-From。

要做这样的事情,你需要像我写的那样使用第三方SMTP对象:

http://www.aspnetemail.com

在aspNetEmail中,您可以执行以下操作:

EmailMessage msg = new EmailMessage();
msg.ReversePath = "bounceEmailAccountHere@whatever.com

aspNetEmail将在SMTP会话期间使用MAIL FROM命令中的ReversePath值。我可以轻松地将此属性称为“ReturnPath”或“EnvelopeFrom”。回想起来,EnvelopeFrom会是一个更好的名字。