首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用windows虚拟邮件服务器发送带有报头return-path的电子邮件

使用windows虚拟邮件服务器发送带有报头return-path的电子邮件
EN

Stack Overflow用户
提问于 2009-01-21 11:17:48
回答 1查看 11.2K关注 0票数 4

我正在尝试使用.NET MailMessage类发送电子邮件,该类也可以添加return-path头,以便任何退回都返回到不同的电子邮件地址。代码如下:

代码语言:javascript
复制
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);

每当我检查发送的电子邮件时,我都会检查邮件头,它似乎总是缺少return-path。要正确配置它,我是否遗漏了什么?正如我在上面所说的,我在我的开发机器(XP)上使用标准的Virtual Mail Server,但是它最终将在Windows2003上运行。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-01-26 16:26:04

返回路径是基于SMTP邮件发件人信封设置的。您可以使用Sender属性来执行此操作。

关于迟早会有的相关问题的另一个讨论:How can you set the SMTP envelope MAIL FROM using System.Net.Mail?

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

PickupDirectoryFromIis, Sender property and SMTP MAIL FROM envelope

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/464876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档