【发布时间】:2012-11-14 19:23:35
【问题描述】:
我正在使用 OpenPop 库来阅读电子邮件。我的问题是,在阅读电子邮件正文时,库会修改一个字符。
请参见以下示例:
电子邮件正文:
Diseño
代码c#:
OpenPop.Pop3.Pop3Client objPOP3 = new OpenPop.Pop3.Pop3Client();
OpenPop.Mime.Message message = default(OpenPop.Mime.Message);
OpenPop.Mime.MessagePart plainTextPart = default(OpenPop.Mime.MessagePart);
string bodyMailTxt = "";
objPOP3.Connect(Host, Port, UseSSL);
objPOP3.Authenticate(User, Password);
message = objPOP3.GetMessage(1);
plainTextPart = message.FindFirstPlainTextVersion();
bodyMailTxt = plainTextPart.GetBodyAsText();
代码vb:
Dim objPOP3 As New OpenPop.Pop3.Pop3Client
Dim message As OpenPop.Mime.Message
Dim plainTextPart As OpenPop.Mime.MessagePart
Dim bodyMailTxt As String = ""
ObjPOP3.Connect(Host, Port, UseSSL)
ObjPOP3.Authenticate(User, Password)
message = objPOP3.GetMessage(1)
plainTextPart = message.FindFirstPlainTextVersion()
bodyMailTxt = plainTextPart.GetBodyAsText()
bodyMailTxt 值是“DiseÃf±o”,它用 f(拉丁小写 F )。
我必须做些什么才能避免这种情况发生?
【问题讨论】:
-
您能否将整个消息(IE,电子邮件的源代码)发布到诸如 pastebin 之类的服务上?您也可以尝试邮寄支持邮件列表 hpop-users@lists.sourceforge.net
-
电子邮件的源代码是什么意思?电子邮件的正文只有“Diseño”一词。
-
但是标题呢?例如主题、编码、内容类型等。就像您只查看主页的可视部分一样,它背后有源代码(HTML)。这同样适用于电子邮件。在 OpenPop 主页上可以找到introduction。
-
您所请求内容的粘贴箱链接:test mail
-
使用quoted-printable decoder 解码字符集“iso-8859-1”中的“Dise=C3f=C2=B1o=20”得到“DiseÃf¹o”。 “f”字符未在源代码中编码,因此 OpenPop 无法给出除“f”之外的任何其他答案。其他电子邮件客户端是否显示您的拉丁文“ƒ”?