Simple Mail Transfer Protocol
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. 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
ftpmail. 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.
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.  Next, the client needs to be able to identify the "language" that a computer must understand the content: the media type. 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. 
There need to be administrative conventions to identify new kinds of media, non-ASCII formats, and other information needed to process messages. 
Error handling in SMTP
Basic SMTP security
SMTP and spam
See port scanning. In general, SMTP servers should not be present on end user computers.
- Klensin, J., ed. (April 2001), Simple Mail Transfer Protocol, Internet Engineering Task Force, RFC2821
- Sendmail Consortium, Welcome to sendmail.org
- Liu, C. et al (1994), Managing Internet Information Services, O'Reilly p. 392
- Liu, p. 479
- Resnick, P., ed. (April 2001), Internet Message Format, Internet Engineering Task Force, RFC2822
- Freed N., Borenstein N. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies, Internet Engineering Task Force, RFC2045
- Freed N., Borenstein N. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types, Internet Engineering Task Force, RFC2046
- Moore, K. (November 1996), Multipurpose Internet Mail Extensions (MIME) Part Three: Message Header Extensions for Non-ASCII Text, Internet Engineering Task Force, RFC2047
- Freed N., Klensin J. (December 2005), Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures, Internet Engineering Task Force, RFC4289