2010-05-03 32 views
41

Tôi muốn đặt giá trị ReplyTo cho .NET MailMessage.Làm cách nào để chỉ định giá trị cho thuộc tính Trả lời MailMessage?

MailMessage.ReplyTo tài sản:

ReplyTo là lỗi thời cho loại này. Vui lòng sử dụng ReplyToList thay vì đó có thể chấp nhận nhiều địa chỉ.

MailMessage.ReplyToList tài sản:

Gets hoặc bộ danh sách các địa chỉ cho trả lời cho tin nhắn qua thư.

Nhưng, ReplyToList là ReadOnly.

Tôi đã cố gắng sử dụng MailMessage.Headers bất động sản như thế này:

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

như đã mô tả ở đây: System.Web.Mail, OH MY!

Tuy nhiên, đó dường như không làm việc.

Làm cách nào để đặt (các) giá trị thuộc tính ReadOnly của tài sản ReadOnly là Trả lời danh sách?

+0

Đây chính là lý do tại sao chúng ta cần [Warlords ** của Documentation **] (http: //meta.stackoverflow .com/questions/306213/warlords-of-documentation-của bạn-câu hỏi-trả lời?cb = 1) - Điều này hữu ích hơn rất nhiều so với trang MSDN trên ['MailMessage.ReplyToList'] (https://msdn.microsoft.com/en-us/library/system.net.mail.mailmessage.replytolist (v = vs.110) .aspx) – KyleMit

Trả lời

6

Bạn không thể nói

message.ReplyToList = new MailAddressCollection(); 

Để tạo một bộ sưu tập mới. Tuy nhiên, thêm vào bộ sưu tập hiện tại là những gì bạn muốn làm.

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

câu trả lời của tôi không phải là không giống như những câu trả lời được chấp nhận đã đưa ra. Tuy nhiên, tôi cảm thấy cần phải được cung cấp.

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

Tôi thích cú pháp init mảng, sẽ gọi Add() cho bạn.

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

Bạn cần phải thêm danh sách các ReplyTo Địa chỉ để ReplyToList bằng công cụ Add ​​phương pháp:

  mail.Sender = new MailAddress(from, displayName); 
      mail.From = new MailAddress(from, displayName); 
      mail.ReplyToList.Add("[email protected]"); 
Các vấn đề liên quan