# SMTP - Commands **Extracted from:** [**https://serversmtp.com/smtp-commands/**](https://serversmtp.com/smtp-commands/)\*\*\*\* **HELO** It’s the first SMTP command: is starts the conversation identifying the sender server and is generally followed by its domain name. **EHLO** An alternative command to start the conversation, underlying that the server is using the Extended SMTP protocol. **MAIL FROM** With this SMTP command the operations begin: the sender states the source email address in the “From” field and actually starts the email transfer. **RCPT TO** It identifies the recipient of the email; if there are more than one, the command is simply repeated address by address. **SIZE** This SMTP command informs the remote server about the estimated size \(in terms of bytes\) of the attached email. It can also be used to report the maximum size of a message to be accepted by the server. **DATA** With the DATA command the email content begins to be transferred; it’s generally followed by a 354 reply code given by the server, giving the permission to start the actual transmission. **VRFY** The server is asked to verify whether a particular email address or username actually exists. **TURN** This command is used to invert roles between the client and the server, without the need to run a new connaction. **AUTH** With the AUTH command, the client authenticates itself to the server, giving its username and password. It’s another layer of security to guarantee a proper transmission. **RSET** It communicates the server that the ongoing email transmission is going to be terminated, though the SMTP conversation won’t be closed \(like in the case of QUIT\). **EXPN** This SMTP command asks for a confirmation about the identification of a mailing list. **HELP** It’s a client’s request for some information that can be useful for the a successful transfer of the email. **QUIT** It terminates the SMTP conversation.