Simple Mail Transfer Protocol
Reprinted by permission from Matt Mussleman
Table of Contents
SMTP Commands and Meanings
Command Name Definition Description Status HELO Introduction EHLO Introduction (extended SMTP mode) RSET System Reset EXPN Expand Mailing List SMTP server returns address of final destination for any mail addressed to the specified address. Often disabled due to security risks. This command allows potential spammers to determine which addresses are valid on this host. NOOP No Operation A null command. Does nothing. VERB Verbose mode Server responds to message send with a much more verbose, but non-standard, status dialogue. Specify Mail Sender TURN Mail Turn SMTP server begins dequeueing queued mail for the specified domain to the host which opened the current SMTP session. Usually disabled due to risk of dequeueing mail to an unauthorized host. See ETRN. ETRN Extended Turn SMTP server looks up the primary MX record for the domain specified and begins dequeueing all queued mail to that host. Preferred instead of TURN. Not available on all SMTP implementations. RCPT Specify Mail Recipient HELP DATA Specify Message Content VRFY Verify Address SMTP server acknowledges whether specified address is valid. Often disabled for security to avoid helping potential spammers generate address lists. DSN Delivery Status Notifications QUIT Quit End SMTP Session
SMTP Messages
Format:
Example Description EHLO sender's domain MAIL FROM: sender address [RET={FULL | HDRS}] [ENVID=envid] RCPT TO: recipient address [NOTIFY={NEVER,SUCCESS,FAILURE,DELAY}] [ORCPT=recipient] DATA From: sender name <sender address> To: recipient name <recipient address> Subject: subject Date: date message body here . RET (specify whether to return full message or headers in case of failure) ORCPT (specify receipt recipient) Optional. If omitted, defaults to sender specified above To, Subject, and Date also optional. End with a single period on a line by itself.
Example:
220 arjuna.mindflip.com ESMTP Sendmail 8.9.3/8.9.3; Mon, 11 Oct 1999 04:22:25 GMT HELO mindflip.com 250 arjuna.mindflip.com Hello arjuna.mindflip.com [206.50.17.92], pleased to meet you MAIL FROM: matt@arjuna.mindflip.com 250 matt@arjuna.mindflip.com... Sender ok RCPT TO: mindflip@mindflip.com 250 mindflip@mindflip.com... Recipient ok DATA 354 Enter mail, end with "." on a line by itself250 EAA80467 Message accepted for delivery From: Matt To: Mindflip User Subject: Just saying hi Date: 11 Oct 1999 I just wanted to say Hi. .
ETRN Transactions
Format:
Format Description EHLO domain ETRN domain EHLO will cause the server to do a reverse DNS lookup to verify sender. After ETRN, server looks up primary MX for domain, and dequeues mail.
Example:
220 arjuna.mindflip.com ESMTP Sendmail 8.9.3/8.9.3; Mon, 11 Oct 1999 04:16:25 GMT EHLO mindflip.com 250-arjuna.mindflip.com Hello nakula [206.50.17.90], pleased to meet you ETRN mindflip.com 250 Queuing for node mindflip.com started
For More Information
- RFC-821, Simple Mail Transfer Protocol
- Original specifications of the SMTP protocol.