.net 如何为MailMessage ReplyTo属性赋值?

.net 如何为MailMessage ReplyTo属性赋值?,.net,email,.net,Email,我想为.NET邮件消息设置ReplyTo值 财产: 此类型的ReplyTo已过时。 请改用ReplyToList 可以接受多个地址 财产: 获取或设置要删除的地址列表 对邮件消息的回复 但是,ReplyToList是只读的 我尝试过这样使用该属性: mail.Headers.Add("Reply-To", "johndoe@example.com"); 如下所述: 但是,这似乎不起作用 如何设置MailMessage的只读属性ReplyToList的值?ReplyToList是其公开方法的一个

我想为.NET邮件消息设置ReplyTo值

财产:

此类型的ReplyTo已过时。 请改用ReplyToList 可以接受多个地址

财产:

获取或设置要删除的地址列表 对邮件消息的回复

但是,ReplyToList是只读的

我尝试过这样使用该属性:

mail.Headers.Add("Reply-To", "johndoe@example.com");
如下所述:

但是,这似乎不起作用


如何设置MailMessage的只读属性ReplyToList的值?

ReplyToList
是其公开方法的一个实例

要添加新地址,只需将地址作为字符串传递即可

  message.ReplyToList.Add("john.doe@example.com");
你不能说

message.ReplyToList = new MailAddressCollection();
创建一个新集合。但是,添加到现有集合是您想要做的

message.ReplyToList.Add(new MailAddress("foo@bar.net"));
我用了房子

mail.Sender = new Mail.MailAddress("system@example.com");
mail.From = new Mail.MailAddress("johndoe@example.com", "John Doe");

更多信息:

我的答案与已经给出的公认答案没有什么不同。但是,我觉得需要提供

var fromEmail = new MailAddress("foobar@example.com", "Foo Bar");
var replyEmail = new MailAddress("foo@example.com", "Foo Example");
var msgEmail = new MailMessage { From = fromEmail };
msgEmail.ReplyToList.Add( replyEmail );

我喜欢array init语法,它将为您调用Add()


您需要通过add方法将ReplyTo地址列表添加到ReplyToList:

            mail.Sender = new MailAddress(from, displayName);
            mail.From = new MailAddress(from, displayName);
            mail.ReplyToList.Add("replyToAddress@host.com");
参考文献


我希望也可以使用上述方法选择性地包括“友好名称”,可能使用以下格式:Jon Doe

参考文献: , ,
.

这正是我们需要的原因-这比Bah上的MSDN页面大得多!那太迟钝了。为什么不允许分配
邮件地址的集合呢?注意:如果需要,您可以传递一个包含逗号分隔的电子邮件地址列表的字符串;)更简单的方法是:msgEmail.ReplyToList.Add(“foobar@example.com, foo@example.com") ;
            mail.Sender = new MailAddress(from, displayName);
            mail.From = new MailAddress(from, displayName);
            mail.ReplyToList.Add("replyToAddress@host.com");
MailMessage.ReplyToList.Add("johndoe@example.com, janedoe@example.com, xxxx@yyyy.com");