Sending and receiving email with freedom
In his "Inside Out" column, Mark Minasi recently described the workings of the Simple Mail Transfer Protocol (SMTP) and Post Office Protocol (POP) 3 Internet email protocols (for a list of articles about these protocols, see "Related Articles in Windows NT Magazine," page 178). This article goes a step further and describes how Microsoft Exchange Server 5.5 works with these protocols. Specifically, I'll describe what happens behind the scenes when you compose an email message in an Exchange Server-based network and send the message to a recipient on the Internet.
Internet Message Transport
When you email an Internet recipient, the mail server you connect to uses SMTP to transport the message to the recipient's email server. Let's look at an example to see how this process works.
Suppose I'm connected to my corporate messaging network and I want to email my friend Mark at mark@minasi.com. After I compose and send the message, it leaves my desktop and travels through my corporate network until it reaches an Internet mail gateway. On my network, this gateway is server Hermes, with host name hermes
.paradigms.com.
When Hermes receives the email message, it examines the recipient's address and attempts to locate the SMTP mail server on the Internet that houses Mark's mailbox. To locate the correct mail server, Hermes queries a Domain Name System (DNS) server for the mail exchanger (MX) and address (A) records for the domain. (For more information about DNS, see "Related Articles in Windows NT Magazine.") Because I'm sending a message to mark@minasi.com, Hermes will look for MX and A records that match minasi.com. If you perform an NSLOOKUP for minasi.com on any DNS server connected to the Internet, you see the following information:
minasi.com
MX preference =
10, mail exchanger = arlington.minasi.com
arlington.minasi.com
internet address = 199.34.57.24
This information tells Hermes that the Exchange server for my network should deliver email for anyone at minasi.com to server arlington.minasi.com, which has an IP address of 199.34.57.24. To send email to mark@minasi.com, Hermes attempts to connect to TCP port 25 of the Arlington server. To receive SMTP email, Arlington must run SMTP host software and respond appropriately when any server sending SMTP email connects to it. You can Telnet to TCP port 25 of Arlington to see the reply Hermes will receive, which will look similar to the following reply:
220 arlington.minasi.com ESMTP Server (Microsoft Exchange Internet Mail Service 5.5.1960.3) ready
This information tells Hermes that the Arlington server is an SMTP host ready to receive email. In addition, Hermes can see that Arlington is running Microsoft Exchange Server and the Internet Mail Service (IMS), and supports Enhanced SMTP (ESMTP). At this point, Hermes hasn't confirmed that Arlington will receive email for the domain minasi
.com or that user mark@minasi.com exists, but Hermes trusts the DNS records. Hermes then begins to transfer my email message to Arlington using SMTP.
Exchange Server's SMTP Support
In addition to being the Internet mail gateway for my network, Hermes runs Exchange Server 5.5. My mailbox is on another server (Athena), and I use the Outlook email client. Unfortunately, I don't know whether the mailbox for mark@minasi.com is on Arlington or on a remote network server, and I can't be sure what email client Mark will use to read my message. As a result, I assume that the environment looks similar to what you see in Figure 1.
Figure 1 shows two Outlook clients (Patmos and MarkPC) and three Exchange servers (Athena, Hermes, and Arlington), with differing functions. My email client is on Patmos, and Mark's email client is on MarkPC. My mailbox is on Athena, and Mark's mailbox is on Arlington. IMS is running on Hermes and Arlington, and the Message Transfer Agent (MTA), which delivers the email to the proper recipient, is running on all three Exchange servers.
Figure 1 also shows a DNS server (with host name dns.dcnw.com) running at an Internet Service Provider (ISP). IMS and MTA are true NT services that you can view under the Services applet in Control Panel, as Screen 1, page 180, shows (you will see IMS in the list of NT services only if you install it on an Exchange server on your network).
All Exchange servers must run four core services: MTA, the Information Store, the Directory Service, and the System Attendant. The Information Store houses email messages and recipients' mailboxes. The Directory Service maintains the directory, including the address book and address-book lookups. The System Attendant is a base service that all the other services depend on.
I recently discovered the archive of articles on your Web site. This resource is gold! Past articles are available through a variety of sort modes with links to relevant articles. I can’t express my appreciation adequately. Your archive is now the starting point for all my research.<br>
--Richard J. Jennette
Richard J. Jennette August 11, 1999