J Mosser wrote:
> I highly doubt Mozilla and/or Netscape's version of Mozilla will ever
> support Hotmail via HTTP. The reason is simple: The Hotmail HTTP
> interface is proprietary (Microsoft ownz it). I suppose one could
> spend time reverse engineering it, but why when there a perfectly
> usable browser interface?
>
> ukmeatisrubbish, Perhaps you want to start work on reverse engineering
> the Hotmail HTTP interface?
>
> Regards, Jason M.
>
From what I understand, the protocol is based (partly, at least) on a
standard (WebDAV - RFC 2518) and has already been successfully been
reverse-engineered. Check out the HTTPMail project at sourceforge :
http://sourceforge.net/projects/httpmail/
From the description below, there doesn't appear to be anything
particularly proprietary in the protocol. (I haven't looked at the
actual implementation details, though.)
<snippet from project page>
The goals are to:
1. Document the HTTPMail protocol;
2. Provide at least one client implementation of the
HTTPMail protocol; and
3. Generally allow access to Hotmail other than through
the web interface.
</snippet from project page>
<snippet from documentation>
The HTTPMail protocol is used for access to Hotmail accounts
via Microsoft Outlook Express. The protocol is DAV based.
In the Hotmail implementation, a typical session goes like this:
1 Login
1.1 Client requests a PROPFIND of the inbox and other properties
on http://services.msn.com/svcs/hotmail/httpmail.asp.
1.2 The request is redirected to http://oe.hotmail.com/.
1.3 MD5 qop authentication is required by the server.
1.4 A cookie is sent back for the authenticated session and the
client is redirected to the user's folder url.
1.5 The inbox and other properties from the PROPFIND are returned.
2 Get folders
2.1 Client requests a PROPFIND of the msgfolderroot (a DAV
collection)
3 Get message headers
3.1 Client requests a PROPFIND of each message folder collection
to get the message headers
4 Get messages as needed
4.1 Client GETs the message
4.2 Client requests a PROPPATCH to mark the message as read
</snippet from documentation>
-Brian