SMTP Connection and Session Establishment and Termination
(Page 2 of 4)
Connection Establishment and Greeting Exchange
Lets take a look at these processes in more detail, starting of course with SMTP session establishment. The SMTP sender begins by initiating a TCP connection to the SMTP receiver. The sending SMTP server uses an ephemeral port number, since it is playing the role of the client in the transaction. Assuming that the server is willing to accept a connection, it will indicate that it is ready to receive instructions from the client by sending reply code 220. This is called the greeting or service ready response. It commonly includes the full domain name of the server machine, the version of the SMTP server software it is running, and possibly other information.
Now, it would be rude for the server acting as a client to just start sending commands to the responding server without saying hello first, wouldn't it? So that's exactly what comes next: the client says hello. In the original SMTP protocol, this is done by issuing a HELO command, which includes the domain name of the sending (client) SMTP server as a courtesy. The receiving device then responds back with a return hello message using an SMTP reply code 250.
For example, if the SMTP server smtp.sendersite.org was making a connection to the SMTP server mail.receiversplace.com, it would say:
After receiving this, mail.receiversplace.com would respond back with a hello message of its own, something like this:
250 mail.receiversplace.com Hello smtp.sendersite.org, nice to meet you.
The chatty text is of course purely optional; most of the time SMTP communication is between software programs, so all the pleasantries are mostly just programmers having a sense of humor. Still, isn't such politeness a pleasant thing to see in this sometimes difficult world of ours? J
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.