Link to home
Start Free TrialLog in
Avatar of almiller
almiller

asked on

HTTPMail (Hotmail POP3-like access)

I am trying to find out how certain apps, such as MSN Messenger, and also Dekstop.com and a few others, are able to check for mail on a Hotmail account. I have heard something called HTTPMail, which is supposibly the protocol used by MS in Outlook Express to check mail on Hotmail, but I couldn't confirm it. I also heard a stupid answer such as "Parsing the HTML received". If the right way is HTTPMail, then the points would go to the one who can supply me with the specification to make an app use HTTPMail. If there is something else used, then I would love to hear about it.
To make things clear. The question is not what is used, but rather, how can I make an app to check mail on Hotmail.

Is this the right group to post this kind of message at all?
Avatar of psiclone
psiclone

Hmmm ! This is interesting ... technically one should simply have to find the name of the hotmail Mail server and recongigure your outlook express Server Information with the incoming and outgoing mail server name along with the account name (ie hotmail username) that is providing hotmail allows for anonymous login...then again ... I am going to think about this one :)  I will be back...
psiclone, I believe that almiller is looking for information on the protocols used and not the applications.  If you re-read his entry, near the end he states "The question is not what is used, but rather, how can I make an app to check mail on Hotmail.".

I've done a small amount of investigation, but haven't found any explicit information on the protocol used by Hotmail and the http mail service.
Avatar of almiller

ASKER

Right. That is correct. If you wish to check for Hotmail message using OE (Outlook Express), you should use a special kind of protocol called HTTP (which is actually the HTTPMail), and not POP3 or IMAP.

bjt3: would increasing the points help? or is it a dead-end?
For myself, increasing the points will do nothing.  I'm interested in the answer and would find it if I could (or had infinite amounts of time).  It may, however, spur others on to look in places that only they know.  While I can't state that it's a dead-end, I haven't found much to give me any hope of seeing a published protocol spec.  It's possible to use some sort of socket tool to see what data gets passed back and forth, but that would only allow you to infer certain parts of the protocol.  And, if it's encrypted, then that job is also a bit difficult.
Adjusted points to 200
Hi

to almiller: you just want to check and send mails thru hotmail or you want to be able to access all function in hotmail such as delete mails, creating folders, address books and stuff.

At first glance hotmail looks like pure cgi to me, but i'll check it out further. Looks interesting.
I'm sure that by it self Hotmail is some sort of CGI based, but that's not what I'm interested in. I know that there is a way, using something called HTTPMail to access Hotmail's information much like POP3 and SMTP only via an HTTP protocol. I am interested in whatever this HTTPMail specification permits.
httpmail seems to be just the parsing of web pages retrieved using http
Please, how have you reached this conclusion?
it's name httpmail would seem to indicate that.... the link points to an asp (active server pages... sorta like cgi).  Parsing would probably be the only way out for you.
There is no cure all solution for this.  Each webmail service operate slightly differently.  Several software packages are available though that will handle this job of parsing for you

some examples:
Hotmail Express http://www.5star-shareware.com/program.cgi?hotmail-express
Replayer
http://www.tufans.com/Products/Relayer/index.html (handles hotmail, yahoo mail, and rocket mail
@nymail
http://www.tntsb.com/ supposedly handles over 60 different web based mail clients including excite inbox
Although the links you provided are interesting, this is far from what I'm looking for.

I'm looking for a solution which does not involve parsing the HTML. I'm sure what MS implemented in MSN Messenger, does not involve parsing, and that is what I wish to use.
almiller, I'm not sure what you mean by "parsing" in the last reply.  *Everything* uses parsing in some fashion or other.  That's what a protocol is at one level - rules for parsing data.  I'm quite sure that hotmail is using some sort of data passing using HTTP driven by asp.  I've been looking around for the protocol rules for the data.  Without that, as I mentioned in a previous comment, you could take apart the stream itself but that's only a partial solution.  Observation of a stream can be very interesting and give you a lot of the answer, but there will always be parts that you might not know about (and need to) that didn't happen to show up in the streams that you observed.
When I say parsing of HTML, I mean a program which immitates the action taken by a human user with a browser - that is one solution I am not looking for.

MS created HTTPMail (as a protocol), and I assume when doing that they didn't take into consideration human readability, thus creating a protocol which is machine-driven (i.e. contains minimal commands for machine use, and not human readable commands such as USER, PASS, LIST, DELE etc). Another thing they probably did with thier protocol, is made it available via HTTP, hence the name.

What I'm looking for, to some extent, is the specification of that protocol.

I know that it is possible to create a program which will use the human-readable interface provided by Hotmail, but I'm relactant to use that because it would require me to update it everytime Hotmail changes it's human-readable interface (read: website).
Yes, then we are in sync.  The answer I had looked for is exactly what you are asking for.  I've yet to find it, but I'm sure it exists and is available somewhere.
Can't you get some kind of program that will trap all the messages sent over your network connection.  Maybe you could find one of those and use that along with outlook express configured to use hotmail in an attempt to figure it out
i installed a copy of MSN Messenger on my system and tried to check as well as send mail (hotmail) from it.
Note: I do not have Outlook Express 5 and my default mail program is Eudora Pro.

1) On check/send mail, MSN Messenger will open my default browser (Netscape) passing in a html form which auto invokes a cgi script (upon load) to login into hotmail, which brings me to my hotmail inbox in Netscape. In the case of sending mail, it would bring me to the Compose mail page.
That means to say that MSN Messenger (i'm not talking about Outlook Express here) did NOT send/check mail through some special HTTPMail protocol and instead had to rely on the browser.

For reference purposes, i'll dump the html forms for checking and composing mail here. (i have changed the auth and creds fields slightly for security purposes)

Going into inbox...
--------------------------------
<html>
<head>
<noscript>
<meta http-equiv=Refresh content="0; url=http://www.hotmail.com">
</noscript>
</head>

<body onload="document.pform.submit(); ">
<form name="pform" action="http://www.hotmail.msn.com/ppsecure/domessengerlogin" method="POST">

<input type="hidden" name="mode" value="ttl">
<input type="hidden" name="login" value="username">
<input type="hidden" name="username" value="username@hotmail.com">
<input type="hidden" name="sid" value="507">
<input type="hidden" name="kv" value="2">
<input type="hidden" name="id" value="2">
<input type="hidden" name="sl" value="2599">
<input type="hidden" name="rru" value="/cgi-bin/HoTMaiL">
<input type="hidden" name="auth" value="3ATAAHAXAFeEBUhXfY!Mk8e*vdetQrr2pWthPioO6AjyinkVqUSjHMIA$$">
<input type="hidden" name="creds" value="5623a079f53b8a2e9041c03b3be8b7e8">
<input type="hidden" name="svc" value="mail">
<input type="hidden" name="js" value="yes">
</form>
</body>
</html>

Sending Mail....
-------------------------------
<html>
<head>
<noscript>
<meta http-equiv=Refresh content="0; url=http://www.hotmail.com">
</noscript>
</head>

<body onload="document.pform.submit(); ">
<form name="pform" action="http://www.hotmail.msn.com/ppsecure/domessengerlogin" method="POST">

<input type="hidden" name="mode" value="ttl">
<input type="hidden" name="login" value="username">
<input type="hidden" name="username" value="username@hotmail.com">
<input type="hidden" name="sid" value="507">
<input type="hidden" name="kv" value="2">
<input type="hidden" name="id" value="2">
<input type="hidden" name="sl" value="2823">
<input type="hidden" name="rru" value="/cgi-bin/compose">
<input type="hidden" name="auth" value="3ATAAHAXAFeEBUhXfY!Mk8e*vdetQrr2pWthPioO6AjyinkVqUSjHMIA$$">
<input type="hidden" name="creds" value="5623a079f53b8a2e9041c03b3be8b7e8">
<input type="hidden" name="svc" value="mail">
<input type="hidden" name="js" value="yes">
</form>
</body>
</html>

---------------------------------
I'd like to know for others who have installed MSN Messenger, whether it is able to check and send mail stand-alone (ie. without help from browser). If that is possible, then pls provide details on how, so that i can trace the program.

2) It is highly probable that MSN Messenger, being a program like ICQ, relies on communications with a central server. This coupled with the fact that I can find no "Check mail every 5/10/15/20 mins" kind of option in the program, increases the probability that MSN is notified of new mail through the central server instead of checking at hotmail's server using some special protocol. If that is the case, then there is some special comms setup between the hotmail server and the messenger server in MSN (assuming they are not the same). So the only way to built a "Notify when new mail comes" feature in your own app would be to mimick the MSN Messenger's comms with its server.

3)i havent tried using outlook express 5 yet, so i wont know how it goes. hopefully can find some more time to work this out ;)

4) all the above are just my own thoughts on the matter, they may be totally wrong for all i know. so any comments are welcome. thx
Hi.

I think that your comments are partly wrong. MSN Messenger (hereafter MSNM), is able to make a standalone mail check. There is a mail box icon (the forth, I think), which get's filled with Mail when there is. It is possible, like you mentioned, that MSNM gets it's mail information from the server (dependant of Hotmail), and that Hotmail and the server are linked in some sort of internal way.

But since I heard it is possible to check for Hotmail with OE (Outlook Express), and I assume it is not with a pop-up browser, then I believe it is possible, and MSNM is likely to use it.

I dont have OE5 installed, so I cannot verify it.

If anyone has it, and can make this check, it would be great.

Thanks.
Hello

For the case of MSNM, it would definitely be easier (simpler programmatically, and less dependant on browser installations on the user's PC)  to make a standalone mail check, but it doesnt.

Nod, it may be true that after OE is installed, MSNM may switch to using it. This will need more verification.

May I know where you saw the reference to HTTPMail? thx
I now believe that the term HTTPMail is incorrect. I have been refrenced to:

http://www.bouchon.demon.co.uk/download/httpmail.html

Which shows something completly different. Nevertheless, I know that OE5 allows to check mail from Hotmail using something different than POP3 and IMAP. I know that MSNM allows to get new mail notifications, w/o explicitly openning a browser, and from viewing netstat, it doesn't seem to open an http connection to anything. On the other hand, it does have a constant socket connection open at all time (probably with MSNM server).
Al,

These services and features just log-in to your Hotmail account using POP--much like a mail program like Eudora or MS Outlook would. Just point such software to:

for retrieving-->
POP3 Account: pop.hotmail.com

for sending-->
SMTP Account: relay.hotmail.com

-ventolin.
Have you had any luck with this? I tried it now, and it doesn't seem to work
yes. how are you trying it?
ventolin,

hi, this is interesting. I setup another personality on my Eudora with those settings but it didn't work out. The user name was accepted, but the correct password was rejected, ie. (-ERR Password failure.) I have verified the passwd by logging in thru the web interface. also, i tried doing a telnet to pop.hotmail.com port 110 to login, but got the same passwd failure error. so i'm very curious how you manage to get it working. thx.
ASKER CERTIFIED SOLUTION
Avatar of ventolin
ventolin
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
hello,

nod. read thru the links. So i think we can safely conclude that there's simply no way (as of now) for almiller to write an e-mail client for hotmail without having to mimick MS programs/browser behaviour and hence having to parse the HTML/ASP page returned. (since both Outlook AND MSN Messenger had to rely on the browser and normal CGI/HTTP authentication to get the job done)

i see the conclusion of this LONG question coming.....whew ;)
thats not true. monitor tcp traffic during an exchange with outlook and hotmail and then re-engineer what they are doing.
For some of it, ventolin.  See my previous comment from 27-Dec-99 on that approach.  It's a partial approach that may yield some results.
its the only way available (currently) since a "proprietry" protocol is not available.
"monitoring tcp traffic and re-engineering" is just a nicer way of phrasing what i wrote.
i've just started a project to reverse-engineer (clean room) the httpmail protocol.  Please email me if interested.  calvinrsmith@hotmail.com