Have a question?
Message sent Close

SMTP Commands and Reply Codes

SMTP/ESMTP Commands

TokenTypeReferenceSMTP serverComments
8BITMIMEKeywordRFC1652MostIndicates support for 8 bit encoded (rather than 7 bit) mail message contents, through the optional addition of a parameter to the MAIL command
ATRNKeywordRFC2645SomeIndicates support for the ATRN verb. Only valid in an on-demand SMTP server running on port 366
ATRNVerbRFC2645SomeOperates as an authorised TURN equivalent for SMTP servers with a dynamic IP address
AUTHKeywordRFC2554MostIndicates support for the AUTH verb
AUTHVerbRFC2554MostAuthentication. If accepted challenge/response pairs are sent 1 or more times
AUTH=KeywordRFC2554SomeThis keyword is not valid, but seems to indicate support for the AUTH parameter with the MAIL verb. That support should be indicated with the AUTH keyword
BDATVerbRFC3030Microsoft Exchange ServerShould only be used if the CHUNKING keyword is sent. Like the DATA command, but if accepted data of a length specified in BDAT follows. No need for a terminator. Can be multiple chunks - the last BDAT command comes with a LAST parameter. Cannot mix BDAT and DATA
BINARYMIMEKeywordRFC3030Microsoft Exchange ServerIndicates support for binary encoded (rather than 7 bit) mail message contents, through the optional addition of a parameter to the MAIL command.
CHECKPOINTKeywordRFC1845SomeIndicates support for restarting an interrupted SMTP conversation by adding an optional parameter to the MAIL command
CHUNKINGKeywordRFC3030Microsoft Exchange ServerIndicates support for the BDAT command
CONNEGKeywordSMTP and MIME Extensions For Content ConversionIndicates support for the CONNEG parameter to the RCPT-TO command
CONPERMKeywordSMTP and MIME Extensions For Content ConversionIndicates support for the CONPERM paramter for the MAIL FROM command
DATAVerbRFC2821RequiredIf accepted, means that subsequent text makes up a mail message, until a terminator (CR LF . CR LF) is received
DEBUGVerbSendmail,ZmailerIf accepted, puts receiving SMTP server into debug mode
DELIVERBYKeywordRFC2852MostIndicates support for not delivering mail after a designated time. Comes with reporting paramters and adds an optional parameter to the MAIL command
DSNKeywordRFC1891MostIndicates support for Delivery Status Notification by adding optional parameters to the MAIL and RCPT command
EHLOKeywordCommuniGate ProSome faulty SMTP servers will incorrectly list EHLO as a keyword
EHLOVerbRFC1869MostAlternative to HELO. Returns list of keywords identifying SMTP extensions supported by receiving SMTP server
EMALVerbIETF ArchivesZmailerStart of EMAL FROM: Like MAIL except planned to indicate (or allow) 8 bit support for the data contents
ESAMVerbIETF ArchivesZmailerStart of ESAM FROM: Like SAML except planned to indicate (or allow) 8 bit support for the data contents
ESNDVerbIETF ArchivesZmailerStart of ESND FROM: Like SEND except planned to indicate (or allow) 8 bit support for the data contents
ESOMVerbIETF ArchivesZmailerStart of ESOM FROM: Like SOML except planned to indicate (or allow) 8 bit support for the data contents
ENHANCEDSTATUSCODESKeywordRFC2034MostIndicates responses will include an enhanced status code
ENHANGEDSTATUSCODESKeywordRFC2034Zmailer - ObsoleteA typo for enhanCed. Indicates responses will include an enhanced status code
ETRNKeywordRFC1985SomeIndicates support for the ETRN verb
ETRNVerbRFC1985SomeRequests the local SMTP server to initiate delivery of mail to the external SMTP server on a separate SMTP connection
EVFYVerbIETF ArchivesZmailerPlanned to return whether an address is likely to accept 8 bit messages
EXDATAKeywordRFC2821CourierIndicates support for the EXDATA parameter with the MAIL FROM command
EXPNKeywordRFC2821ManyIndicates support for the EXPN verb
EXPNVerbRFC2821ManyExpand a mailing list address into individual recipients. Often disabled to prevent use by spammers
HELOVerbRFC2821RequiredShould be the first command is an SMTP conversation. Identifies sending SMTP server
HELPKeywordRFC2821ManyIndicates support for the HELP verb
HELPVerbRFC2821ManyReturns help message
IDENTVerbRFC1431ZmailerReturns the response from an IDENT query (preusmably on your own connection)
LANGKeywordSMTP Language ExtensionSpecify language for response messages
LANGUAGEKeywordSMTP Language ExtensionIndicates support for the LANG verb
MAILVerbRFC2821RequiredStart of MAIL FROM: Identifies sender of mail message. May be forged. May not correspond to the From: line in a mail message. Should be added in Return Path header. Address to send any undeliverable notifications (bounces)
NOOPVerbRFC2821RequiredNO OPeration. Does nothing but keeps the connection active and can help synchronise commands and responses.
OKKeywordMicrosoft Exchange ServerSome faulty SMTP servers will incorrectly list this as a keyword
ONEXKeywordSendmail - ObsoleteIndicates support for the ONEX verb
ONEXVerbSendmail - ObsoleteIndicates that only one mail message is coming in this connection - stops Sendmail from forking a new process (supposed to make it more efficient)
PIPELININGKeywordRFC2920MostIndicates support for a command stream without waiting for a response to each command. The receiving server is supposed to batch responses. Streaming is supposed to stop with a command that can change the state of the receiving SMTP server (such as the DATA command)
QUITVerbRFC2821RequiredDisconnects
RCPTVerbRFC2821RequiredStart of RCPT TO: Identifies recipient of mail message.
READYKeywordFTGateSome faulty SMTP servers will incorrectly list this as a keyword
RSETVerbRFC2821RequiredResets the server state
SAMLKeywordRFC2821ObsoleteIndicates support for the SAML verb
SAMLVerbRFC2821ObsoleteStart of SAML FROM: Like MAIL except supposed to also display the message on the recipients computer (early form of instant messaging)
SOMLKeywordRFC2821ObsoleteIndicates support for the SOML verb
SOMLVerbRFC2821ObsoleteStart of SAML FROM: Like MAIL except supposed to either mail the message OR display the message on the recipients computer (early form of instant messaging)
SENDKeywordRFC2821ObsoleteIndicates support for the SEND verb
SENDVerbRFC2821ObsoleteStart of SEND FROM: Like MAIL except supposed to display the message on the recipients computer (early form of instant messaging)
SIZEKeywordRFC1870MostIndicates the maximum size of messages that will be accepted, and indicates support for message sizes to be included as a parameter with the MAIL verb
QUEUVerbIBM VM SMTPReturns mail delivery queue information
RELAYKeywordDraft RFC 2476PMDF - ObsoletePart of a draft which was dropped in the final version
STARTTLSKeywordRFC2487SomeIndicates support for the STARTTLS verb.
STARTTLSVerbRFC2487SomeTriggers start of TLS negotiation for secure SMTP conversation. If successful, resets state to before EHLO command sent
SUBMITTERKeywordResponsible Submitter of an E-mail MessageIndicates support for the SUBMITTER Parameter of the MAIL command
TETHYSKeywordFTGateUnknown
TICKKeywordPMDF - ObsoleteIndicates support for the TICK verb. There were only ever used in BSMTP (Batch SMTP).
TICKVerbIBM VM SMTP, PMDF - ObsoleteReturns a ticket number for BSMTP
TIMEKeywordMercuryIndicates support for the TIME verb.td>
TIMEVerbMercuryReturns the date and time of the receiving mail server
TLSKeywordDraft of RFC2487Microsoft Exchange Server - OnsoleteIndicates support for the TLS verb.
TLSVerbDraft of RFC2487Microsoft Exchange Server - ObsoleteTriggers start of TLS negotiation for secure SMTP conversation. If successful, resets state to before EHLO command sent
TURNVerbRFC2821ObsoleteIf accepted swaps the sending/receveing roles of the external/local SMTP servers. Not recommended due to lack of authentication
TURNMEVerbZmailer - ObsoleteEquivalent to ETRN
VERBKeywordSendmailIndicates support for the VERB verb
VERBVerbSendmailEnableds verbose (detailed) responses
VRFYVerbRFC2821RequiredReturns whether specified email address is a valid recipient. Often disabled to prevent spammers testing a dictionary list of names to build up a list of valid recipients.
WITHELDKeywordFTGateUnknown - possibly indicates the host name is supressed?
X-ADATKeywordESMTP Service Extension for Filtering GatewaysIndicates support for the X-ADAT verb
X-ADATVerbESMTP Service Extension for Filtering GatewaysAllows sending of mail message before specifying recipients
X-DRCPVerbESMTP Service Extension for Filtering GatewaysStart of X-DRCPT TO: Allows deferred specifying recipients following use of X-ADAT
X-ERCPVerbESMTP Service Extension for Filtering GatewaysSpecifies end of recipients following use of X-DRCP
X-EXPSKeywordMicrosoftMicrosoft Exchange ServerIndicates support for the X-EXPS verb
X-EXPSVerbMicrosoftMicrosoft Exchange ServerMicrosoft version of AUTH. Seems to work the same way. If accepted challenge/response pairs are sent 1 or more times.
X=EXPS=KeywordMicrosoft Exchange ServerThis seems to indicate support for the X-EXPS parameter with the MAIL verb.
X-LINK2STATEKeywordMicrosoftMicrosoft Exchange ServerIndicates support for the X-LINK2STATE verb
X-LINK2STATEVerbMicrosoftMicrosoft Exchange ServerExchange of routing information. Supposedly generates one response
X-RCPTLIMITKeywordZmailerParameter follows indicates maximum number of recipients per mail message
X-TURNMEKeywordZmailer - ObsoleteIndicates support for the TURNME verb
XADRKeywordPMDFIndicates support for the XADR verb
XADRVerbPMDFReturns information about how an address is routed internally by PMDF as well as general channel information
XAUDKeywordNT MailI'm guessing this is an audit ID reporting licence number and version
XAUTHKeywordMicrosoft bug reportMicrosoft Exchange Server 5.0Indicates support for the XAUTH verb
XAUTHVerbMicrosoft bug reportMicrosoft Exchange Server 5.0Authentication. If accepted challenge/response pairs are sent 1 or more times.
XBDATAKeywordMailbeamerDetails are unknown.
XCIRKeywordPMDFIndicates support for the XCIR verb
XCIRVerbPMDFReturns PMDF circuit check information
XDATASIZEKeywordLSMTPI'm guessing it's an obsolete form of XLSMTP-DATASIZE
XDSNKeywordRFC1891Zmailer,SendmailIndicates support for Delivery Status Notification by adding optional parameters to the MAIL and RCPT command
XEXCH50KeywordMicrosoftMicrosoft Exchange ServerIndicates support for the XEXCH50 verb
XEXCH50VerbMicrosoftMicrosoft Exchange ServerAllows transfer of binary data with Exchange specific recipient information (eg plain text only versus MIME, etc). If accepted, receiver SMTP servers sends 354 Send Binary data and sending SMTP server sends the number of bytes as the first parameter on the XEXCH50 command. Once these bytes are sent, the receiving SMTP server sends an acknowledgement
XGENKeywordPMDFIndicates support for the XGEN verb
XGENVerbPMDFReturns status information about whether a compiled configuration and compiled character set are in use
XLICENSEVerbLSMTPReturns license information
XLSMTP-ACKRCPTKeywordLSMTPI'm guessing it's linked with L-Soft's LISTSERV programme. There are probably associated keywords. Details are unknown.
XLSMTP-DATASIZEKeywordLSMTPI'm guessing it's linked with L-Soft's LISTSERV programme. There are probably associated keywords. Details are unknown.
XLSMTP-MMERGEKeywordLSMTPI'm guessing it's linked with L-Soft's LISTSERV programme and mail merge. There are probably associated keywords. Details are unknown.
XMBEAM30KeywordMailbeamerI'm guessing this simply identifies the software and version running. Details are unknown.
XONEKeywordSendmail - ObsoleteIndicates support for the ONEX verb
XQUEKeywordSendmail - ObsoleteIndicates support for the XQUE
XQUEVerbSendmail - ObsoleteI'm guessing this is equivalent to ETRN
XREMOTEQUEUEKeywordNetscape Mail serverI'm guessing it indicates support for the XREMOTEQUEUE verb, to implement another version of the TURN command. Details are unknown.
XSBEAM30KeywordMailbeamerI'm guessing this simply identifies the software and version running. Details are unknown.
XSECURITYKeywordSECURITY SMTP Service ExtensionCourierIndicates support for the SECURITY parameter with the MAIL verb. This allows for specifying the secruity level for delivering mail.
XSTAKeywordPMDFIndicates support for the XSTA verb
XSTAVerbPMDFReturns status information about the number of messages processed and currently in the PMDF channel queues
XTRNKeywordSLMailIndicates support for the XTRN verb
XTRNVerbSLMailI believe this is equivalent to ETRN
XUSRKeywordSendmail - ObsoleteIndicates support for the XUSR verb
XUSRVerbSendmail - ObsoleteIndicates that the submitted mail is coming directly from the user, and not relayed from another SMTP server
XVERPKeywordQmail,Postfix,CourierIndicates support for the XVERP parameter with the MAIL verb. This allows for automatic inclusion of the intended recipients address in the MAIL FROM address, so that bounces clearly show the address of the intended recipient.
XVRBKeywordSendmailIndicates support for the VERB verb
XXWALL30KeywordXWallI'm guessing this simply identifies the software and version running. Details are unknown.

SMTP Reply Codes

CODEMEANING
101Server connection error (wrong server name or connection port)
200(nonstandard success response, see rfc876)
211System status (response to HELP)
214Help message (response to HELP)
220 Service ready (response to the client’s attempt to establish a TCP connection)
221 Service closing transmission channel
235Authentication successful (response to AUTH)
250The requested command is completed. As a rule, the code is followed by OK
251User is not local, but the server will forward the message to
252The server cannot verify the user (response to VRFY). The message will be accepted and attempted for delivery
334Response to the AUTH command when the requested security mechanism is accepted
354Start mail input; end with .
The server confirms mail content transfer (response to DATA). After that, the client starts sending the mail. Terminated with a period ( “.”)
421 Service not available, closing transmission channel
422The recipient’s mailbox has exceeded its storage limit
431File overload (too many messages sent to a particular domain)
441No response from the recipient’s server
442Connection dropped
446Internal loop has occurred
450Requested mail action not taken: mailbox unavailable (busy or temporarily blocked). Requested action aborted
451The server aborted the command due to a local error
452The server aborted the command due to insufficient system storage
454TLS not available due to a temporary reason (response to STARTTLS)
455Parameters cannot be accommodated
471Mail server error due to the local spam filter
500Syntax error (also a command line may be too long). The server cannot recognize the command
501Syntax error in parameters or arguments
502The server has not implemented the command
503Improper sequence of commands
504The server has not implemented a command parameter
510Invalid email address
512A DNS error (recheck the address of your recipients)
521 does not accept mail (see rfc1846)
523The total size of your mailing exceeds the recipient server limits
530Access denied (Authentication problem that mostly requires the STARTTLS command to run)
535Authentication failed
538Encryption required for a requested authentication mechanism
541Message rejected by spam filter
550Mailbox is unavailable. Server aborted the command because the mailbox was not found or for policy reasons. Alternatively: Authentication is required for relay
551User not local; please try
552The server aborted the command because the mailbox is full
553Syntactically incorrect mail address (Requested action not taken: mailbox name not allowed)
554The transaction failed (due to an unknown error or No SMTP service here as a response to the client’s attempts to establish a connection)
555Parameters not recognized/ not implemented (response to MAIL FROM or RCPT TO)
This website uses cookies and asks your personal data to enhance your browsing experience.