POP3无法在GMail上获取最新的电子邮件

时间:2018-11-15 09:23:43

标签: c# gmail pop3 mailkit

我使用mailkit pop3来获取电子邮件,但是我发现它没有获取最新的电子邮件,并且每次运行它都返回不同的邮件计数编号

using (Pop3Client client = new Pop3Client())
        {
            // Connect to the server
            client.Connect(hostname, port, useSsl);
            client.AuthenticationMechanisms.Remove("XOAUTH2");
            client.Authenticate((username), password);
            int messageCount = client.Count;
           // var folder = client.;

            // We want to download all messages
            List<MimeMessage> allMessages = new List<MimeMessage>(messageCount);

            for (int i = messageCount - 1; i > 0; i--)
            {
                var msg = client.GetMessage(i);
                allMessages.Add(msg);
            }
        }

我以为所有消息变量都应填充从最新电子邮件到旧电子邮件的所有电子邮件,但我发现所有消息都返回旧电子邮件,并且根本不包含新电子邮件,我进行了很多搜索,却没有找到原因,您知道发生这种情况的原因,我该如何解决? 我希望在这里找到任何帮助,并预先感谢

1 个答案:

答案 0 :(得分:1)

您是否有机会连接到Gmail?

这是GMail行为,根据您的POP设置(在GMail网络应用的“设置”页面中进行设置),它将确定客户端看到的消息。

这不是MailKit问题。

在Google自己的FAQ标题为“电子邮件下载不正确”的部分中,该信息指出:

  

在Gmail设置中设置POP后,您的电子邮件将可用   分批。可能需要一段时间才能看到您的所有电子邮件。

     

注意:Gmail会下载您发送或接收的每封电子邮件的副本,   聊天,垃圾邮件和垃圾箱中的电子邮件。为避免重复,Gmail不会   下载在您的邮件客户端中发送的电子邮件,但是您仍然可以看到它们   如果您登录到Gmail。

     

如果您仍然无法下载电子邮件,请尝试使用最新的   模式:

     
      
  1. 在电子邮件客户端的POP设置页面中,找到“电子邮件地址”或   “用户名”字段。
  2.   
  3. 添加最近的邮件:在您的电子邮件地址之前。例如,   最近:example@gmail.com。
  4.   
     

如果仍不能解决问题,请尝试从电子邮件客户端删除Gmail地址,然后重新添加。