Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# POP3客户端错误:";7不支持对名称进行编码“;_C#_Email_Pop3 - Fatal编程技术网

C# POP3客户端错误:";7不支持对名称进行编码“;

C# POP3客户端错误:";7不支持对名称进行编码“;,c#,email,pop3,C#,Email,Pop3,我有一个打开邮箱的代码。这是代码: private Pop3Client GetPop3Client() { Pop3Client popClient = new Pop3Client(); popClient.Connect("smtp.xxxxxxxxx.xxxx.xx", 110, false); popClient.Authenticate("username", "passowrd"); return popClient;

我有一个打开邮箱的代码。这是代码:

private Pop3Client GetPop3Client()
{
        Pop3Client popClient = new Pop3Client();
        popClient.Connect("smtp.xxxxxxxxx.xxxx.xx", 110, false);
        popClient.Authenticate("username", "passowrd");
        return popClient;
}
Message message = popClient.GetMessage(1);
所以,在这行:

private Pop3Client GetPop3Client()
{
        Pop3Client popClient = new Pop3Client();
        popClient.Connect("smtp.xxxxxxxxx.xxxx.xx", 110, false);
        popClient.Authenticate("username", "passowrd");
        return popClient;
}
Message message = popClient.GetMessage(1);
发生此错误:

private Pop3Client GetPop3Client()
{
        Pop3Client popClient = new Pop3Client();
        popClient.Connect("smtp.xxxxxxxxx.xxxx.xx", 110, false);
        popClient.Authenticate("username", "passowrd");
        return popClient;
}
Message message = popClient.GetMessage(1);
“7bit”不是受支持的编码名称。参数名称:名称位于 System.Globalization.EncodingTable.internalGetCodePageFromName(字符串 名称)位于System.Globalization.EncodingTable.GetCodePageFromName(字符串 姓名)在 OpenPop.Mime.Header.HeaderFieldParser.ParseCharsetToEncoding(字符串 OpenPop.Mime.MessagePart.ParseBodyEncoding(字符串)中的字符集 OpenPop.Mime.MessagePart..ctor(字节[]rawBody, MessageHeader(消息头)位于 位于的OpenPop.Mime.MessagePart.ParseMultiPartBody(字节[]rawBody) 位于的OpenPop.Mime.MessagePart.ParseBody(字节[]rawBody) OpenPop.Mime.MessagePart..ctor(字节[]rawBody,MessageHeader) 在OpenPop.Mime.Message..ctor(字节[]rawMessageContent,布尔值 在OpenPop.Pop3.Pop3Client.GetMessage(Int32 messageNumber)中的parseBody) 在中的DocumentCenter.Repository.ProcessMessage.ReadAllInMailBox()中 C:\dsn\net\project\project.Repository\ProcessMessage.cs:第414行

如何修复它?

由于()具有与OpenPOP类似的API,您可以尝试切换到MailKit,因为它没有这个问题(在解析消息时它会正确处理错误的字符编码名称)

如果您不想更改为MailKit,则需要编辑OpenPOP的源代码并修复OpenPOP.Mime.Header.HeaderFieldParser.ParseCharSetToEncode(),以正确处理错误的字符集名称。

可能重复的