我正在寻找一种快速方式或库来使用HTTP检查Hotmail收件箱。请注意,它必须通过Http而不是pop3或Imap(无论如何都不支持)。我需要这个,因为我需要使用pop3会话不支持的Http Proxies连接到多个帐户。任何形式的帮助都表示赞赏。
谢谢伙计=]
答案 0 :(得分:4)
我认为,如果不模拟用户在浏览器中执行的操作,目前是不可能的。最简单的方法是使用“VS2010 Test Professional”或“VS2010 Ultimate”功能来记录浏览会话并生成相同的C#代码!请参阅here,它对我来说非常有用,可生成可在应用程序中重复使用的可读代码
BWT,那些似乎是现有的API:
- pop3.live.com,传入邮件的端口995(SSL必需);
- smtp.live.com,端口25(无SSL)或587(SSL)用于发送电子邮件;
- Windows Live Messenger Contacts API(旧版)允许访问联系人;
- Windows Live Messenger Connect允许做信使可以做的任何事情;
- Windows Live Messenger Mailbox properties允许查看邮件和未读邮件的数量;
答案 1 :(得分:3)
没有正式的方法来使用HTTP(S)读取Hotmail。曾经有过DAV,但这已经被逐步淘汰,这是官方声明:
Continuing DAV protocol retirement
Windows Mail& Outlook Connector都使用未记录的名为DeltaSync的协议。
有些人试图像这样的人进行逆向工程:DeltaSync HU01 decompression code released,但绝对不能保证这不会发展 - 实际上,你可以确定 会发展: - )
所以,你最好使用POP3:Hotmail and MSN Accounts POP3/SMTP Access
答案 2 :(得分:3)
您可以使用隐藏的WebBrowser控件。然后使用源代码捕获电子邮件标题和所有。 在that answer中,我解释了如何做到这一点。
我认为这是最简单的方法。
答案 3 :(得分:2)
您需要对Delta Sync协议进行反向工程。 使用32位版本的MS-Mail和oSpy捕获SSL数据包+ Wireshark以捕获http数据包。
答案 4 :(得分:2)
这可能不是你想要的,但你可以通过http隧道连接pop3。不好的一面是,您需要一个服务器,位于局域网之外的某个地方,您可以连接到该服务器。 以下是一个示例:Pop3 over Http
答案 5 :(得分:1)
不确定这是否有帮助:
答案 6 :(得分:1)
试着看看WaTiN。 它是我们用于在Web应用程序上执行测试,模仿用户交互的框架。我们还使用与Mailinator通信来检查虚拟电子邮件。
我很确定WaTiN在这方面可以提供帮助,但缺点是它实际上会打开一个特定的浏览器,所以如果你能接受它,那就是你要走的路。
你也可以制作网页请求并提供正确的帖子数据来执行登录,但这并不困难。然后,只需解析响应的内容以检查是否有电子邮件。
您曾经能够使用System.Net.mail命名空间和邮件客户端直接连接到Hotmail服务器,但我不确定Hotmail是否仍允许这样做。