【问题标题】:Reading gmail using OpenPop.dll errors c#使用 OpenPop.dll 读取 gmail 错误 c#
【发布时间】:2016-01-18 22:30:30
【问题描述】:

我正在尝试使用 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]

【问题讨论】:

  • messageNumber 参数的值不能为零或更小看来您需要从索引 1 而不是 0 开始

标签: c# gmail-pop


【解决方案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));
     }
}

【讨论】:

  • 我很抱歉一定没有看到。谢谢你:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-11
  • 2012-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
相关资源
最近更新 更多