使用 OpenPop 读取 gmail.dll错误 c#
本文关键字:错误 dll gmail OpenPop 读取 使用 | 更新日期: 2023-09-27 18:30:50
我正在尝试使用 OpenPop.dll 从 c# 中的 gmail 读取电子邮件正文。我尝试过 gmail api,但我永远无法让它工作,所以我尝试了这个。无论如何,这是我的代码和我给出的错误。
using (Pop3Client client = new Pop3Client())
{
client.Connect("pop.gmail.com", 995, true);
client.Authenticate("signalxxxxxx@gmail.com", "xxxxxxxx", AuthenticationMethod.UsernameAndPassword);
int messageCount = client.GetMessageCount();
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);
for (int d = messageCount; d > 0; d--)
{
allMessages.Add(client.GetMessage(i));
}
在 allMessages.Add 部分(运行时)上给出的错误。
An unhandled exception of type 'OpenPop.Pop3.Exceptions.InvalidUseException' occurred in OpenPop.dll
Additional information: The messageNumber argument cannot have a value of zero or less. Valid messageNumber is in the range [1, messageCount]
您可能在另一个for
循环中使用此代码,并误会了索引变量。 GetMessage
方法中的参数应该是 d
,而不是 i
。它应该看起来像这样:
using (Pop3Client client = new Pop3Client())
{
client.Connect("pop.gmail.com", 995, true);
client.Authenticate("signalxxxxxx@gmail.com", "xxxxxxxx", AuthenticationMethod.UsernameAndPassword);
int messageCount = client.GetMessageCount();
List<OpenPop.Mime.Message> allMessages = new List<OpenPop.Mime.Message>(messageCount);
for (int d = messageCount; d > 0; d--)
{
allMessages.Add(client.GetMessage(d));
}
}