C#通过HTTP检查Hotmail收件箱

时间:2011-01-23 16:51:24

标签: c# hotmail

我正在寻找一种快速方式或库来使用HTTP检查Hotmail收件箱。请注意,它必须通过Http而不是pop3或Imap(无论如何都不支持)。我需要这个,因为我需要使用pop3会话不支持的Http Proxies连接到多个帐户。任何形式的帮助都表示赞赏。

谢谢伙计=]

7 个答案:

答案 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)

不确定这是否有帮助:

Hotmail using C#

答案 6 :(得分:1)

试着看看WaTiN。 它是我们用于在Web应用程序上执行测试,模仿用户交互的框架。我们还使用与Mailinator通信来检查虚拟电子邮件。

我很确定WaTiN在这方面可以提供帮助,但缺点是它实际上会打开一个特定的浏览器,所以如果你能接受它,那就是你要走的路。

你也可以制作网页请求并提供正确的帖子数据来执行登录,但这并不困难。然后,只需解析响应的内容以检查是否有电子邮件。

您曾经能够使用System.Net.mail命名空间和邮件客户端直接连接到Hotmail服务器,但我不确定Hotmail是否仍允许这样做。