gpt4 book ai didi

c# - 使用 System.Net.Mail.MailMessage 发送的电子邮件中的编码不正确

转载 作者:太空狗 更新时间:2023-10-29 18:26:45 25 4
gpt4 key购买 nike

当收到使用 System.Net.Mail.MailMessage 发送的电子邮件时,一些收件人似乎对电子邮件有编码问题。例如字符 ä 显示为 ä¤。我已经设置了编码属性:

System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
...
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.SubjectEncoding = System.Text.Encoding.UTF8;

我还能做什么?

更新:

如果我使用 Body 属性,电子邮件会正确显示,但是当我使用 AlternateViews 属性时,电子邮件显示不正确。

完整代码:

SmtpClient smtpClient = new SmtpClient("some.host.com");
MailMessage msg = new MailMessage();
msg.To.Add("someone@host.com");
msg.From = new MailAddress("name@host.com", "Name Name");
msg.Subject = "Test";

//Displays as ä
//msg.Body = "ä";

// Displays as ä
AlternateView htmlView = AlternateView.CreateAlternateViewFromString("ä", new ContentType(MediaTypeNames.Text.Html));
msg.AlternateViews.Add(htmlView);

smtpClient.Send(msg);

当发送到 Gmail 时,电子邮件显示正确,但当发送到 Exchange 服务器时,电子邮件显示不正确。我已经在 .NET 3.5 和 4.5 中进行了测试。

最佳答案

尝试将内容类型添加到替代 View :

AlternateView htmlView = AlternateView.CreateAlternateViewFromString("ä", new ContentType(MediaTypeNames.Text.Html));
htmlView.ContentType.CharSet = Encoding.UTF8.WebName;

关于c# - 使用 System.Net.Mail.MailMessage 发送的电子邮件中的编码不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30031654/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com