POP3接收电子邮件编码C#

POP3接收电子邮件编码C#,c#,email,encoding,pop3,C#,Email,Encoding,Pop3,我使用POP3来接收电子邮件。但编码错误,如电子邮件的主题“主题" 转向“涓婚“。中文错误,强文本当文本的内容为英文时,没有错误。谁能告诉我,我应该怎么做?代码如下: POP3 pop = new POP3(); pop.Connect("userName", "password", "pop.126.com", 110);//smtp.126.com pop.DownloadMessages(); for (int i = 1; i < pop.Messages.Count; i++)

我使用POP3来接收电子邮件。但编码错误,如电子邮件的主题“主题" 转向“涓婚“。中文错误,强文本当文本的内容为英文时,没有错误。谁能告诉我,我应该怎么做?代码如下:

POP3 pop = new POP3();
pop.Connect("userName", "password", "pop.126.com", 110);//smtp.126.com
pop.DownloadMessages();
for (int i = 1; i < pop.Messages.Count; i++)
{
    Email email = new Email();
    Message msg = pop.Messages[i];
    email.From = msg.From;
    email.FromName = msg.FromName;
    email.Body = msg.HTMLBody;
    email.Title = msg.Subject;
}
POP3 pop=new POP3();
连接(“用户名”,“密码”,“pop.126.com”,110);//smtp.126.com
pop.DownloadMessages();
对于(int i=1;i
我不确定您使用的是什么POP3库,但它显然已损坏,除了切换到另一个POP3库之外,您无法“修复”代码以使其正常工作,例如我的库,它是唯一一个在所有情况下都能正确处理字符集的库(大多数可以处理拉丁1字符集,但对于CJK字符集则完全失败)

大多数客户端中断拉丁1(ISO-8859-1)之外的任何内容的原因是,大多数电子邮件库都有只处理字符串的解析器。为了将消息数据从字节转换为字符串,他们需要选择
System.Text.Encoding
(大多数选择ISO-8859-1)。他们假设电子邮件遵循各种RFC中概述的规则,这些规则将电子邮件标题限制为US-ASCII,但客户端忽略这些规则是很常见的


与其他解析器不同,MailKit的电子邮件解析器解析字节流,因此在开始解析邮件之前不需要进行字符集转换。这允许解析器正确处理标题和正文中的混合字符集。

请提高您的问题质量。我们需要更多信息,请展示您的研究成果已经完成了。谢谢。据我记忆所及,C#中没有对POP3的直接支持。这个
POP3
类是从哪里来的?问题是,我希望一个写免费MIT许可证库的人正是监控这类问题的人,可能是最好的回答他们的人。他们正是知道这类问题的人关于这件事。那么…为什么要把他打倒。该死的规则。如果他没有帮助,就放了狗。不过要用一些判断,嗯?为什么我的评论被删除了?