Simple Mail Transfer Protocol

From Citizendium, the Citizens' Compendium
Jump to: navigation, search
This article is developing and not approved.
Main Article
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
This editable Main Article is under development and not meant to be cited; by editing it you can help to improve it towards a future approved, citable version. These unapproved articles are subject to a disclaimer.

The Simple Mail Transfer Protocol (SMTP), in an analogy to postal mail, is the Internet application protocol that moves addressed and stamped envelopes between post offices.[1] Other protocols, such as POP3 and IMAP, manage putting envelopes into mailboxes and taking them out. Yet another set of functions multipurpose internet mail extensions (MIME (computer), identifies the type of content inside the electronic envelope, such as text, audio, video, programs, web pages, encrypted text, etc.

Do understand the difference between the protocol and the program that runs the protocol. In a UNIX/LINUX protocol, there are a variety of protocols that run SMTP, such as open-source sendmail[2] or canned_reply[3] or ftpmail[4]. In the Microsoft world, the main program that runs SMTP is Microsoft Exchange.

SMTP requires a guaranteed path to move the bytes of the envelope across the internet, a service provided by the Transmission Control Protocol (TCP). SMTP itself, however, does not guarantee delivery of electronic messages, but does have conventions to tell the server when it could not deliver an envelope, find the associated post office, and other abnormal events.[5]

SMTP normal processing flow

Introduction to message content conventions

See also: multipurpose mail extensions

Multipurpose Internet Mail Extensions tell the sending and receiving client application programs how to handle the "letter" that goes into the "envelope". First, the basic machine-readable format of an Internet message body needs to be defined. [6] Next, the client needs to be able to identify the "language" that a computer must understand the content: the media type.[7] Especially when the content is text, but in other than ASCII text (e.g., human scripts not using the Roman alphabet such as Arabic orthography, kanji and hiragana, Sanskrit orthography, etc. [8]

There need to be administrative conventions to identify new kinds of media, non-ASCII formats, and other information needed to process messages. [9]

Error handling in SMTP

Basic SMTP security

Mailing lists

SMTP and spam

See port scanning. In general, SMTP servers should not be present on end user computers.


  1. Klensin, J., ed. (April 2001), Simple Mail Transfer Protocol, Internet Engineering Task Force, RFC2821
  2. Sendmail Consortium, Welcome to
  3. Liu, C. et al (1994), Managing Internet Information Services, O'Reilly p. 392
  4. Liu, p. 479
  5. Resnick, P., ed. (April 2001), Internet Message Format, Internet Engineering Task Force, RFC2822
  6. Freed N., Borenstein N. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, Internet Engineering Task Force, RFC2045
  7. Freed N., Borenstein N. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, Internet Engineering Task Force, RFC2046
  8. Moore, K. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text, Internet Engineering Task Force, RFC2047
  9. Freed N., Klensin J. (December 2005), Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures, Internet Engineering Task Force, RFC4289