Understanding Email Protocols
Protocols are the life of email - they are what makes email work. An agreed upon standard for performing email tasks. Most protocols have undergone years of refinement and agreed upon by standards bodies. A protocol is like a conversation not unlike ordering a pizza, each side asking questions, and acting upon the answer. True, email servers speak the same language so it's not exactly like ordering pizza.
SMTP - Protocol used for sending emails to someone else. It may take many SMTP sessions for final delivery one email. Your email client performs the first session speaking SMTP to your email server. Your server in turn will forward your email on to the destination using another SMTP session. Along the way, the email may have many stops, hoping from one server to the next on its way. This is all done through SMTP.
POP3 - Used to fetch your new emails. Emails are downloaded to your client email program from your server, and then the messages are removed from your server. Lacking in functionality over IMAP, POP3 is universal in implementation. Your ISP may only offer POP3, and not make IMAP available at all.
IMAP - Preferred by most because of added functionality and central server side message store. IMAP leaves all messages on the server until deleted. Unlike POP3, messages are not downloaded to the client for review, Only the requested pieces of information are fetched.
None of these protocols are case sensitive. It is handy to know these protocols well enough to be able to connect with telnet, and perform a session manually for debugging purposes without going through the trouble of configuring a client. The ability to perform a manual telnet session can be indespencible in narrowing down a problem, troubleshooting, proving a point, and many other things.
MAPI - This is a proprietary protocol developed by Microsoft, and is therefore not supported by a wide range of servers except for MS Exchange. MAPI is also responsible for calendaring, scheduling, contact management, and more. Developers tools for MAPI are available, but the underlying protocol is not publicly available, and the software interfaces available for interfacing with Exchange are terrible.

Protocols and TELNET
One thing that is very handy to know how to do, is to conduct an SMTP or POP3 session manually via telnet. This can be done from any computer, and is an invaluable skill when trying to track down a problem with email, either sending or fetching.
All Windows computers have a telnet client built into them. You can access the telnet client from a DOS box. Menu to Start / Run, and type the three letters cmd. This will open a DOS box.
To establish a POP3 or SMTP session, simply type at the DOS box command line - telnet <server name> <port number>.
Port number is simple enough - 25 for SMTP and 110 for POP3. So substitute one of those numbers for <port number>. Server name requires a little more work to figure out.
Lets say your email address is betsy@browncown.com. You cannot simply telnet to browncown.com, you need to know the MX record for browncown.com. Goto a site like dnsreport.com, and enter browncown.com in the Mail test. The MX record returned with the lowest priority value is the one you want to use. It will often be as simple as mail.browncown.com or smtp.browncown.com
Now you know the MX record of the server you want to telnet to, you can type into the DOS box telnet mail.browncow.com 25 and establish a connection. The following sections will detail how to manually conduct both a SMTP and a POP3 session. But this section serves to describe how to start a telnet section, and how to discover the name of the server you want to connect to.
Note that larger organizations might not have SMTP and POP3 residing on the same server, so we have no guarantee the mail.browncow.com will also offer you a POP3 session. Take a close look at how your email client is setup to see where messages are POPed from. An ISP gives you this information when you sign up with them, otherwise you could never setup your email client to read messages.
|