我正在开发Windows Form Application,Dot net Framework 4.用于发送SMTP电子邮件。
我正在使用以下代码发送电子邮件。
MailMessage mail = new MailMessage("\"Company Name\" <info@company.com>", textBox_Email_to.Text);
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "host name";
mail.Subject = "test email";
mail.Body = file; // file contains some text
mail.Headers.Add("reply-to", "service@company.de");
mail.IsBodyHtml = true;
client.Send(mail);
唯一的问题是mail.Headers.Add("reply-to", "service@company.de");
无效。
我还尝试使用mail.ReplyTo = new MailAddress("service@company.de");
但它仍然不起作用。在使用mail.ReplyTo
时,我收到此警告:
'System.Net.Mail.MailMessage.ReplyTo'已过时:'“对于此类型,ReplyTo已废弃。请使用ReplyToList代替,它可以接受多个地址。
答案 0 :(得分:12)
Exception告诉你该怎么做 - 使用ReplyToList:
在你的情况下它看起来像这样:
MailMessage mail = new MailMessage("\"Company Name\" <info@company.com>", textBox_Email_to.Text);
SmtpClient client = new SmtpClient();
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "host name";
mail.Subject = "test email";
mail.Body = file; // file contains some text
//mail.Headers.Add("reply-to", "service@company.de");
mail.ReplyToList.Add(new MailAddress("service@company.de", "reply-to"));
mail.IsBodyHtml = true;
client.Send(mail);
答案 1 :(得分:4)
听起来它给你提供了以下建议:改为使用ReplyToList
:
mail.ReplyToList.Add("service@company.de");