Main /

SMTP Protocol


[-edit SideBar-]

SMTP Protocol

SMTP - Simple Message Transfer Protocol

A text-based, human-readable protocol to actively transmit Email Messages from the sender to an intermediate relay server or destination mail server. Invented in the seventies, it is obviously having trouble with today's demands (as you can see on the amounts of spam that are probably in your inbox).

The following status codes can occur DURING the sending SMTP connection:

Initiation Codes 1xx

101cannot open connection

Success Codes 2xx

211system status message
214system help message
220welcome, service is running
221closing connection
250message accepted for local delivery
251message accepted for remote delivery
252cannot VRFY but will attempt delivery

Intermediate Codes 3xx

354headers received, now send body

Temporary Failure Codes 4xx

421service unavailable
450mailbox unavailable
451DNS unavailable
452disk full

Permanent Failure Codes 5xx

500server or command error
501syntax or parameters error
502command not implemented
503bad sequence of commands
504parameter not implemented
550unauthorized relay
551forbidden relay
552over quota
553malformed address
554account disabled or deleted

The following status codes can occur AFTER the original message has been sent (in a later returned BounceMessage*) and indicate the kind of success or failure of further delivery:

Success Codes 2.x.x

Temporary Failures 4.x.x

(also: "persistant transient failures")

4.3.1out of memory or too many connections
4.3.2administrative filter blocked
4.4.1host not responding
4.4.2connection interrupted
4.4.6IP max hop count exceeded
4.4.7message expired in queue
4.4.9internal routing error
4.6.5codepage/charset unacceptable

Permanent Failures 5.x.x

5.1.0mail address malformed or unacceptable
5.1.1mail address not existant
5.1.3mail address has bad syntax
5.1.4two objects have the same proxy address
5.1.6mailbox corrupt
5.1.7sender malformed
5.2.1message too large for server
5.2.2over quota
5.2.3message too large for account
5.3.0MTA routing failure
5.3.3disk full
5.3.5server loop detected
5.4.0DNS cannot resolve target
5.4.4no route to target host
5.4.6account loop detected
5.4.8DNS loop detected
5.5.0generic protocol or greeting error
5.5.2commands out of sequence
5.5.3too many recipients in a single message
5.6.3too many attachments in a single message
5.7.1permission error

For status codes specific to Microsoft Exchange Server*, see their knowledge base.

SMTP Transport Headers

SMTP Message Headers

To track replies and answers back to the original message, various headers are defined

header \ serviceHotmailOutlook
In-Reply-To: <orig_msg_id>sent
References: <orig_msg_id> [<other_msg_id> [...]]sentsent
Thread-Topic: <orig_subject> sent
Thread-Index: <???> sent
Recent Changes (All) | Edit SideBar Page last modified on August 10, 2010, at 05:46 PM Edit Page | Page History
Powered by TechnoloWiki