我正在尝试使用c#中的gmail使用OpenPop.dll读取电子邮件正文。我已经尝试过gmail,但是我无法让它工作,所以我尝试了这个。不管怎样,这是我的代码和错误。
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]发布于 2016-01-18 22:46:58
您可能是在另一个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));
}
}https://stackoverflow.com/questions/34865281
复制相似问题