我试图使用.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);

每当我检查被送到我检查了头,它似乎总是缺少返回路径的电子邮件。有什么事我是缺少正确配置呢?正如我上面说我使用的是标准的虚拟邮件服务器我开发机(XP)。但是它会在Windows 2003上运行的最后。

有没有人有任何想法,为什么它不来通过?

有帮助吗?

解决方案

在返回路径是基于所述SMTP MAIL FROM信封设置。您可以使用发件人属性做这样的事情。结果 在一个相关的问题的另一个讨论,你将有迟早:的你怎么能设置SMTP信封邮件使用System.Net.Mail?

和顺便说一句,如果使用SmtpDeliveryMethod.PickupDirectoryFromIis,发件人属性未用作MAIL FROM;你必须使用网络作为传递方法,以保持该值。 我没有找到这个问题的任何解决办法。结果 PickupDirectoryFromIis,发件人属性和SMTP MAIL FROM信封

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top