我想为.NET MailMessage设置ReplyTo值.
对于此类型,ReplyTo已废弃.请使用ReplyToList代替,它可以接受多个地址.
获取或设置要为邮件消息回复的地址列表.
但是,ReplyToList是ReadOnly.
我试过像这样使用MailMessage.Headers属性:
mail.Headers.Add("Reply-To", "johndoe@example.com");
Run Code Online (Sandbox Code Playgroud)
但是,这似乎不起作用.
如何设置MailMessage的ReadOnly属性ReplyToList的值?
Gio*_*rgi 110
ReplyToList是一个MailAddressCollection的实例,它公开了Add方法.
要添加新地址,您只需将地址作为字符串传递即可
message.ReplyToList.Add("john.doe@example.com");
Run Code Online (Sandbox Code Playgroud)
我喜欢数组init语法,它会为你调用Add().
var msg = new MailMessage("noreply@example.com", mailTo) {
Subject = "my important message",
Body = this.MessageBody,
ReplyToList = { mailTo } // array init syntax calls Add()
};
mailClient.Send(msg);
Run Code Online (Sandbox Code Playgroud)
你不能说
message.ReplyToList = new MailAddressCollection();
Run Code Online (Sandbox Code Playgroud)
创建新集合.但是,添加到现有集合是您要执行的操作.
message.ReplyToList.Add(new MailAddress("foo@bar.net"));
Run Code Online (Sandbox Code Playgroud)
我的回答与已经接受的答案没有什么不同.但是,我觉得需要提供.
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 );
Run Code Online (Sandbox Code Playgroud)