使用返回路径无法正常发送电子邮件

我正在使用System.Net.Mail电子邮件。 我在代码中设置电子邮件的返回路径如下:

 string sReturnPath = ConfigurationManager.AppSettings["ReturnPath"].ToString(); if (sReturnPath.Length > 0) { msg.Headers.Add("Return-Path", sReturnPath); } 

如果传递失败,它应该返回路径,但它不会,即使我可以看到电子邮件的返回路径的标题来自我指定的配置文件。 电子邮件将返回给发件人。

有任何想法吗?

你使用的方法略显错误。 简单邮件传输协议( RFC 2821 )说:

发起消息的SMTP系统不应该发送消息
已包含一个返回路径标头。 SMTP服务器执行
中继function绝不能检查消息数据,尤其不是
在确定返回路径标头是否存在所需的范围内。

如果希望将邮件返回到“ From:字段中指定的地址以外的地址,则应在SMTP邮件信封中设置地址,而不是在邮件头中设置 。 您可以通过设置Sender属性来实现此目的:

 MailMessage msg = new MailMessage(); msg.Sender = new MailAddress("not-deliviered@sample.org", "Sam1");