1

有人建议我使用 OpenPop lib 从 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();
4

2 回答 2

2

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

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

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

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

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

于 2011-01-18T16:08:00.060 回答
0

hotmail 不也为 SOAP API 使用 DeltaSync 吗?

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

于 2011-01-17T20:50:20.027 回答