gpt4 book ai didi

c# - 如何使用 pop3 c# 从 Yahoo mail 中读取最新的电子邮件

转载 作者:太空宇宙 更新时间:2023-11-03 15:13:14 26 4
gpt4 key购买 nike

我想阅读来 self 的雅虎邮箱帐户的电子邮件。我正在使用“OpenPop.Pop3”从我的雅虎邮箱帐户中读取电子邮件,我正在使用以下代码:-

using OpenPop.Pop3;    

public DataTable ReadEmailsFromId()
{
DataTable table = new DataTable();
try
{
using (Pop3Client client = new Pop3Client())
{
client.Connect("pop.mail.yahoo.com", 995, true); //For SSL
client.Authenticate("Username", "Password", AuthenticationMethod.UsernameAndPassword);

int messageCount = client.GetMessageCount();
for (int i = messageCount; i > 0; i--)
{
table.Rows.Add(client.GetMessage(i).Headers.Subject, client.GetMessage(i).Headers.DateSent);
string msdId = client.GetMessage(i).Headers.MessageId;
OpenPop.Mime.Message msg = client.GetMessage(i);
OpenPop.Mime.MessagePart plainTextPart = msg.FindFirstPlainTextVersion();
string message = plainTextPart.GetBodyAsText();
}
}
}
return table;
}

相同的代码能够访问其他邮件电子邮件,如 gmail、outlook,但是在使用 yahoo 邮件电子邮件时,我能够获得主题、日期,但是当到达消息部分时:

OpenPop.Mime.Message msg = client.GetMessage(i);
OpenPop.Mime.MessagePart plainTextPart = msg.FindFirstPlainTextVersion();

它给出错误“用于检索响应的流已关闭”。

这里是“StackTrace”:

at OpenPop.Pop3.Pop3Client.IsOkResponse(String response)
at OpenPop.Pop3.Pop3Client.SendCommand(String command)
at OpenPop.Pop3.Pop3Client.Disconnect()
at OpenPop.Pop3.Pop3Client.Dispose(Boolean disposing)
at OpenPop.Pop3.Disposable.Dispose()

如果我遗漏了什么或做错了什么,请告诉我。我还使用 POP 在任何地方访问雅虎邮箱电子邮件。

最佳答案

首先,根据您的代码片段,您将每条消息下载 4 次。那会非常慢。

至于为什么会出现错误,我不知道。使用 MailKit 时我没有收到错误消息:

using MimeKit;
using MailKit;
using MailKit.Net.Pop3;

public DataTable ReadEmailsFromId()
{
DataTable table = new DataTable();
try
{
using (Pop3Client client = new Pop3Client())
{
client.Connect("pop.mail.yahoo.com", 995, true); //For SSL
client.Authenticate("Username", "Password");

for (int i = client.Count - 1; i >= 0; i--)
{
var msg = client.GetMessage (i);

table.Rows.Add(msg.Subject, msg.Date);
string msdId = msg.MessageId;
string message = msg.TextBody;
}
}
}
return table;
}

关于c# - 如何使用 pop3 c# 从 Yahoo mail 中读取最新的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40219559/

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