C# 使用windows虚拟邮件服务器发送带有标题返回路径的电子邮件

C# 使用windows虚拟邮件服务器发送带有标题返回路径的电子邮件,c#,email,mailmessage,return-path,C#,Email,Mailmessage,Return Path,我正在尝试使用.NET MailMessage类发送电子邮件,该类还可以添加返回路径标题,以便任何反弹返回到不同的电子邮件地址。代码如下: MailMessage mm = new MailMessage( new MailAddress(string.Format("{0}<{1}>", email.FromName, email.FromEmail)), new MailAddress(emailTo)); mm.Subject = ReplaceValues

我正在尝试使用.NET MailMessage类发送电子邮件,该类还可以添加返回路径标题,以便任何反弹返回到不同的电子邮件地址。代码如下:

MailMessage mm = new MailMessage(
    new MailAddress(string.Format("{0}<{1}>", email.FromName, email.FromEmail)), 
    new MailAddress(emailTo));

mm.Subject = ReplaceValues(email.Subject, nameValues);
mm.ReplyTo = new MailAddress(string.Format("{0}<{1}>", email.FromName, email.FromEmail));
mm.Headers.Add("Return-Path", ReturnEmail);

// Set the email html and plain text
// Removed because it is unneccsary for this example

// Now setup the smtp server
SmtpClient smtp = new SmtpClient();
smtp.Host = SmtpServer;
smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

if (SmtpUsername.Length > 0)
{
    System.Net.NetworkCredential theCredential = 
        new System.Net.NetworkCredential(SmtpUsername, SmtpPassword);
    smtp.Credentials = theCredential;
}

smtp.Send(mm);
MailMessage mm=新的MailMessage(
新邮件地址(string.Format(“{0}”、email.FromName、email.FromEmail)),
新邮件地址(emailTo));
mm.Subject=ReplaceValues(email.Subject,nameValues);
mm.ReplyTo=新邮件地址(string.Format(“{0}”,email.FromName,email.FromEmail));
添加(“返回路径”,返回电子邮件);
//设置电子邮件html和纯文本
//已删除,因为此示例中不包含此项
//现在安装smtp服务器
SmtpClient smtp=新SmtpClient();
smtp.Host=SmtpServer;
smtp.DeliveryMethod=SmtpDeliveryMethod.PickupDirectoryFromIis;
如果(SmtpUsername.Length>0)
{
System.Net.NetworkCredential theCredential=
新的System.Net.NetworkCredential(SmtpUsername、SmtpPassword);
smtp.Credentials=theCredential;
}
smtp.Send(mm);
每当我检查发送的电子邮件时,我都会检查邮件头,它似乎总是缺少返回路径。我是否缺少正确配置此项的内容?正如我上面所说的,我正在我的开发机器(XP)上使用标准的虚拟邮件服务器,但它最终将在Windows 2003上运行


有人知道为什么它没有通过吗?

返回路径是根据来自信封的SMTP邮件设置的。您可以使用Sender属性执行此操作。
您迟早会就相关问题进行另一次讨论:

顺便说一句,如果使用SmtpDeliveryMethod.PickupDirectoryFromIis,则发件人属性不会用作邮件发件人;您必须使用网络作为传递方法来保持此值。 我没有找到任何解决此问题的方法。

很抱歉回复太慢,因为另一个项目出现了,我已经完全忘记了这一点。谢谢你的帮助,它确实解决了我的问题。