【问题标题】:Check for new mails in Hotmail using OpenPop.NET使用 OpenPop.NET 在 Hotmail 中检查新邮件
【发布时间】:2011-01-19 00:08:00
【问题描述】:

有人建议我使用 OpenPop 库从 hotmail 中获取我的邮件。但我找不到任何更好的方法来检查新邮件,除了断开连接并重新连接。在那里,我发现了一个问题,Hotmail 不允许每 15 分钟超过 1 次 pop3 登录。我想知道是否可以在不断开连接并重新连接到他们的 pop3 服务器的情况下获取新邮件。这是我的代码:

        Timer checker = new Timer();
        checker.Interval = 1000;
        checker.Tick += new EventHandler(delegate
        {
            Pop3Client client = new Pop3Client();
            client.Connect("pop3.live.com", 995, true);
            client.Authenticate("my.Email@hotmail.com", "myPassword");
            label1.Text = client.GetMessageCount().ToString();
            client.Disconnect();

        });
        checker.Start();

【问题讨论】:

  • 您可以尝试保持连接处于活动状态,但我感觉如果连接空闲时间过长,Hotail 会断开连接。
  • 如果我让它活着。收到新邮件时 GetMessageCount() 不会更新。

标签: c# pop3 hotmail


【解决方案1】:

我认为不允许服务器在 POP3 会话期间向您显示新邮件。我的依据是它当然不能删除电子邮件,因为它会破坏邮件编号。

例如,如果服务器说您有 100 条消息,而当您获取编号为 55 的消息时,它实际上不存在,因为它同时被删除了,会发生什么情况。我认为这同样适用于在会话期间添加新电子邮件。此外,一次只能有一个客户端登录到 POP3 帐户,因为该帐户将处于锁定状态。在这种锁定状态下,我认为服务器不允许在会话期间更改任何内容。

我不记得 POP3 规范中有任何方法允许您询问服务器是否有新消息已送达。

如果 Hotmail 确实只允许每 15 分钟一次 POP3 登录,那么我想你只剩下这个了。我不知道这里是否可以使用其他协议。不支持 IMAP,所以这不是一个选项。

这不是你想要的答案——但这是我能给你的。

【讨论】:

    【解决方案2】:

    对于 SOAP API,hotmail 不也使用 DeltaSync 吗?

    您可以使用 oSpy 查看通过 SSL 发送和接收的内容,并复制该功能。

    【讨论】:

      猜你喜欢
      • 2012-06-03
      • 2018-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多