无法在邮件标题C#中添加回复

时间:2014-01-29 16:26:35

标签: c#

我正在开发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代替,它可以接受多个地址。

2 个答案:

答案 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");