Чтение gmail с использованием ошибок OpenPop.dll C#
Я пытаюсь прочитать тело письма из Gmail в C# с помощью OpenPop.dll. Я попробовал API 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]
1 ответ
Решение
Вы, вероятно, используете этот код внутри другого 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));
}
}