C# 使用pop3阅读C版outlook电子邮件(韩语)
我想使用pop3阅读C中的outlook电子邮件。 当我从邮箱收到邮件时,会出现编码异常,因为我读的是韩文邮件。 如何阅读韩文电子邮件? 我可以设置我要阅读的邮箱吗? 请帮帮我C# 使用pop3阅读C版outlook电子邮件(韩语),c#,email,pop3,openpop,C#,Email,Pop3,Openpop,我想使用pop3阅读C中的outlook电子邮件。 当我从邮箱收到邮件时,会出现编码异常,因为我读的是韩文邮件。 如何阅读韩文电子邮件? 我可以设置我要阅读的邮箱吗? 请帮帮我 class Program { static Pop3Client client = new Pop3Client(); static StringBuilder builder = new StringBuilder(); static void Mai
class Program
{
static Pop3Client client = new Pop3Client();
static StringBuilder builder = new StringBuilder();
static void Main(string[] args)
{
client.Connect("outlook.office365.com", 995, true);
client.Authenticate("blahblahblah", "blahblahblah");//로그인
Console.WriteLine("Checking Inbox");
DataTable table = new DataTable();
var count = client.GetMessageCount();//몇개의 메세지가 있는지
Console.WriteLine(count);
for (int i=count;i>=1;i--)
{
var message = client.GetMessage(i);
var fromAddress = message.Headers.From.Address;
var subject = message.Headers.Subject;
var messageBody = String.Empty;
var plainText = message.FindFirstPlainTextVersion();
if (plainText == null)
{
var html = message.FindFirstHtmlVersion();
messageBody = html.GetBodyAsText();
}
else
{
messageBody = plainText.GetBodyAsText();
}
table.Rows.Add(i,subject, fromAddress, messageBody);
}
}
}
大家好,欢迎来到Stack Overflow。 据我所知,您正在使用OpenPop.NET库 OpenPop.NET使用EncodingFinder类查找正确的编码。默认情况下,它只支持utf8和ascii,至少在github上读取库代码。 根据本页: 您可以将您的编码添加到EncodingFinder。 在您的情况下,您所要做的就是:
static void Main(string[] args)
{
EncodingFinder.AddMapping("ks_c_5601-1987", Encoding.GetEncoding(949));
// rest of the application
请注意,这只适用于.NET Framework,而不适用于.NET Core,因为后者支持的编码数量非常有限
我没有测试这个解决方案的韩国pop3,但我希望它能起作用。祝你好运
搜索后编辑
在.NET Core中使用韩语编码也是可能的,只是有点棘手:
static void Main(string[] args)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
EncodingFinder.AddMapping("ks_c_5601-1987", Encoding.GetEncoding(949));
// rest of application
如果您正在使用.NET Core,请尝试一下。请同时发布异常消息。使帮助更容易:您必须准确地指定它在哪里中断,您会遇到什么错误…@AngryHacker它在var message=client.GetMessagei处中断@Jan System.ArgumentException:ks_c_5601-1987'不是受支持的编码名称。有关定义自定义编码的信息,请参阅encoding.RegisterProvider方法的文档。”这是我的例外消息。谢谢。工作!!!!非常感谢:嗯,我可以再问你一个问题吗?我想在特定的收件箱中阅读邮件,而不是在收件箱中!是否可以在pop3中设置邮箱?据我所知,我可能错了。我想你需要去IMAP。嗨,我可以问一下IMAP吗?如果我是你,我会提出不同的问题。由于此问题是关于pop3的,并且已回答,因此应将其视为已结束。此外,评论不是询问和解释事情的最佳方式,等等。