问题描述
我使用 .NET SmtpClient 和 MailMessage 发送电子邮件,尽管当我在 MS Office Outlook(桌面版)中接收电子邮件时,显示名称似乎无法处理带重音的 Unicode 字符。 正文、主题和一切似乎都很好,除了显示名称。有趣的是,如果我向 Gmail 或 Outlook 发送电子邮件,显示名称也很好。 我知道它可以是电子邮件服务器,但如果我将来自其他提供商的电子邮件发送到我的 Outlook,它就可以工作。
MailMessage m_Msg = new MailMessage();
SmtpClient smtpClient = new SmtpClient();
m_Msg.From = new MailAddress(FromAddress,FromName,System.Text.Encoding.UTF8 /*Tried with System.Text.Encoding.Unicode,does not work*/);
m_Msg.Subject = Subject;
m_Msg.Body = Body;
m_Msg.IsBodyHtml = true;
m_Msg.Priority = MailPriority.normal;
smtpClient.Host = SMTPServer;
smtpClient.Port = SMTPPort;
smtpClient.EnableSsl = SMTPEnableSSL;
smtpClient.Credentials = new NetworkCredential(SMTPUserName,SMTPPassword);
smtpClient.Timeout = 20000;
smtpClient.SendCompleted += new SendCompletedEventHandler(EMailSending_OnCompleted);
//m_Msg.BodyEncoding = System.Text.Encoding.UTF8; // Tried,not working
//m_Msg.HeadersEncoding = System.Text.Encoding.UTF8; // Tried,not working
//m_Msg.SubjectEncoding = System.Text.Encoding.UTF8; // Tried,not working
smtpClient.DeliveryFormat = SmtpDeliveryFormat.International;
smtpClient.SendAsync(m_Msg,m_Msg);
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)