使用OpenPop.NET检查Hotmail中的新邮件

时间:2011-01-17 20:28:21

标签: c# pop3 hotmail

我被建议使用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();

2 个答案:

答案 0 :(得分:1)

我不认为允许服务器在POP3会话期间向您显示新邮件。我的基础是它肯定不能删除电子邮件,因为它会破坏邮件号码。

如果服务器显示您有100条消息,并且当您获取数字55的消息时,它实际上不会出现,因为它在此期间被删除了。我认为同样适用于在会话期间添加新电子邮件。此外,一次只能有一个客户端登录到POP3帐户,因为该帐户将处于锁定状态。在该锁定状态下,我认为在会话期间不允许服务器进行任何更改。

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

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

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

答案 1 :(得分:0)

对于SOAP API,hotmail是否也使用DeltaSync?

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