我被建议使用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();
答案 0 :(得分:1)
我不认为允许服务器在POP3会话期间向您显示新邮件。我的基础是它肯定不能删除电子邮件,因为它会破坏邮件号码。
如果服务器显示您有100条消息,并且当您获取数字55的消息时,它实际上不会出现,因为它在此期间被删除了。我认为同样适用于在会话期间添加新电子邮件。此外,一次只能有一个客户端登录到POP3帐户,因为该帐户将处于锁定状态。在该锁定状态下,我认为在会话期间不允许服务器进行任何更改。
我不记得POP3规范中的任何方法,它允许您询问服务器是否已发送新消息。
如果Hotmail确实每15分钟只允许一次POP3登录,那么我认为你只剩下那个了。我不知道是否有其他协议可以在这里使用。不支持IMAP,因此这不是一种选择。
这不是你想要的答案 - 但这是我能给你的。
答案 1 :(得分:0)
对于SOAP API,hotmail是否也使用DeltaSync?
您可以使用oSpy查看通过SSL发送和接收的内容,并复制该功能。