a complete list of smtp commands
A Complete List of SMTP Commands
One cannot send an email without using SMTP; it is the universal standard that is used to send electronic mail from one system to another. However, because of email providers' tendency to isolate users from the actual procedure involved, users find it difficult to configure or troubleshoot SMTP on their systems. Buzzle provides the complete list of commands that are associated with SMTP.
The Basics...
SMTP, or Simple Mail Transfer Protocol, is the intrinsic application-layer protocol used by any email program to send emails from one computer to another. It runs the TCP/IP architecture, and uses the system's port 25 by default. SMTP is involved in transporting email messages from the sender's own computer (or more specifically, the email client software), to the email server, which is located on a remote computer. The server then forwards the message to the recipient's email server, again using this protocol. The role of SMTP ends here. To receive mail (i.e., to download it from one's email server), a different protocol, such as POP3 (Post Office Protocol) or IMAP (Internet Mail Access Protocol) is used.S. No. | Command | Description |
1 | ATRN | This command performs the TURN operation (reversal of roles of email client and server) only if the connection is authenticated. |
2 | CHUNKING | This is an ESMTP command, whose function is similar to DATA (a message sent by the client to the server to start the process of sending the email), except that the mechanism used by the server to figure out where the message ends is different; the number of bytes in the message is explicitly sent, and the server counts the number of bytes it has received. |
3 | DATA | This command gives the server an intimation that it is ready to begin sending the email. |
4 | DSN | This command activates the reception of delivery status notifications of the email message. |
5 | EHLO | An email client that supports ESMTP sends this command, and the server returns a list of ESMTP commands that it supports. The syntax of this command requires the sender to provide his or her own domain name as a parameter. |
6 | ETRN | This command is sent by an email server to another server, requesting it to start sending email messages located on it. |
7 | HELP | This command is used to ask for help from the email server, and it requests the server to return a list of commands it supports. |
8 | HELO | To begin an SMTP session between the sender and the server, and also so as to enable the server to be able to identify the sender, this command is sent. The syntax of this command requires the sender to send his or her domain name as a parameter. |
9 | MAIL FROM: | To begin the process of composing the email, and to allow the server to know the sender's identity, this command is used, and its syntax requires it to compulsorily take the sender's email address as a parameter, along with other optional parameters. |
10 | NOOP | This command performs no operation, and is used solely to verify the connectivity with the server. |
11 | PIPELINING | On a terminal or command prompt, response packets for every action performed are immediately visible to the sender. This command turns on pipelining, which allows one to send more than one command at a time before receiving responses. |
12 | QUIT | This command is used to terminate the SMTP session. |
13 | RCPT TO: | The syntax of this command requires the recipient's email address to be provided as a compulsory parameter, in addition to other optional ones. It is used to specify the recipient of the email message. |
14 | RSET | This command is used to perform a reset action; the current conversation is terminated, or message being composed discarded, and one can start again. |
15 | SAML | This command asks the server to send the message to the recipient's email client, as well as directly to the recipient's terminal. |
16 | SEND | This command is used to send email messages directly to the recipient's terminal, instead of sending it to his or her email client. |
17 | SIZE= | This command is used to specify the size of the message being sent, in terms of number of bytes. It comes into use when the server has set a limitation on the size of incoming email messages. In the absence of this explicit declaration of the size of the message, the server tries to determine the same by using other methods. |
18 | SOML | This command sends emails directly to the recipient's terminal if he or she is online. Otherwise, the message is sent to the recipient's email client. |
19 | TURN | This command is used to invert the functionality of the email client, and the email server. The client can receive messages from the server while using the same connection. |
20 | VRFY | In the syntax of this command, the recipient's email address is taken as a parameter. This command requests the email server to verify the authenticity, or existence, of the remote user from the email address. |