2010-05-03 50 views
41

我想爲.NET MailMessage設置ReplyTo值。如何將值分配給MailMessage ReplyTo屬性?

MailMessage.ReplyTo物業:

的ReplyTo過時,對於這種類型的。 請使用ReplyToList代替哪個 可以接受多個地址。

MailMessage.ReplyToList物業:

獲取或設置地址列表來 回覆的郵件。

但是,ReplyToList是ReadOnly。

我試圖使用MailMessage.Headers屬性是這樣的:

mail.Headers.Add("Reply-To", "[email protected]"); 

如下所述:System.Web.Mail, OH MY!

但是,這似乎並沒有工作。

如何設置MailMessage的ReadOnly屬性ReplyToList的值?

+0

這就是爲什麼我們需要[文檔的** **投名狀(HTTP://meta.stackoverflow .COM /問題/ 306213 /軍閥的 - 文件 - 您的疑問的回答?cb = 1) - 這比['MailMessage.ReplyToList'](https://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.replytolist(v = vs.110)的.aspx) – KyleMit 2015-09-23 15:58:31

回答

6

一個新的地址,你不能說

message.ReplyToList = new MailAddressCollection(); 

要創建一個新的集合。但是,添加到現有的集合是你想要做的。

message.ReplyToList.Add(new MailAddress("[email protected]")); 
6

我的答案是沒有什麼不同已經給了認同的答案。不過,我覺得需要提供。

var fromEmail = new MailAddress("[email protected]", "Foo Bar"); 
var replyEmail = new MailAddress("[email protected]", "Foo Example"); 
var msgEmail = new MailMessage { From = fromEmail }; 
msgEmail.ReplyToList.Add(replyEmail); 
8

我喜歡數組init的語法,它會爲你調用Add()。

var msg = new MailMessage("[email protected]", mailTo) { 
    Subject = "my important message", 
    Body = this.MessageBody, 
    ReplyToList = { mailTo } // array init syntax calls Add() 
}; 
mailClient.Send(msg); 
0

您需要添加列表中的ReplyTo地址通過Add方法ReplyToList:

  mail.Sender = new MailAddress(from, displayName); 
      mail.From = new MailAddress(from, displayName); 
      mail.ReplyToList.Add("[email protected]");