【发布时间】:2015-07-21 19:12:34
【问题描述】:
我正在向两个地方发送希伯来语电子邮件,一个是 Gmail,另一个是 Outlook。
问题:
Gmail 每次都能正常工作(它们会自动检测编码),但 Outlook 以乱码显示正文,如果我将显示编码从 Hebrew(Windows) 更改为 Unicode(UTF-8)(在 Outlook 中打开邮件显示时),我可以修复它)。
值得一提的是标题和主题都很好。
问题:我如何“告诉” Outlook 或任何其他程序以Unicode(UTF-8) 编码查看邮件?无需手动操作。
我尝试设置编码、字符集等等,但我可以让它工作。
代码相关:
public static void SendEmail(MailMessage msg )
{
ContentType mimeType = new System.Net.Mime.ContentType("text/html");
msg.AlternateViews.Add(System.Net.Mail.AlternateView.CreateAlternateViewFromString(msg.Body, mimeType));
SmtpClient smtp = new SmtpClient
{
Host = "mailgw.netvision.net.il",
Port = 25,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(uName,uPass)
};
smtp.Send(msg);
}
以下是我尝试使用编码的几个示例:
msg.BodyEncoding = Encoding.ASCII;
msg.BodyEncoding = Encoding.UTF8;
msg.BodyTransferEncoding = TransferEncoding.SevenBit;
【问题讨论】:
-
try to set the encoding, char-set你到底是怎么设置的?
标签: c# .net email encoding outlook