Simple Mail Transfer Protocol (SMTP)
is an Internet standard for electronic mail (e-mail)
transmission across Internet Protocol (IP) networks. SMTP was
first defined by RFC 821 (1982, eventually declared STD 10), and
last updated by RFC 5321 (2008) which includes the Extended SMTP (ESMTP)
additions, and is the protocol in widespread use today. SMTP uses TCP port 25.
The protocol for new submissions (MSA) is effectively the same as
SMTP, but it uses port 587 instead. SMTP connections secured by SSL are
known by the shorthand SMTPS, though SMTPS is not a protocol in its own right.
While
electronic mail servers and other mail transfer agents use
SMTP to send and receive mail messages, user-level client mail applications
typically use SMTP only for sending messages to a mail server for relaying.
For receiving messages, client applications usually use either the Post Office Protocol (POP)
or the Internet Message
Access Protocol (IMAP) or a proprietary
system (such as Microsoft
Exchange or Lotus Notes/Domino)
to access their mail box accounts on a mail server.
PROCESSING MODEL
Email is
submitted by a mail client (MUA, mail user agent) to a mail
server (MSA, mail submission agent) using SMTP on TCP port
587. Most mailbox providers still allow submission on
traditional port 25. From there, the MSA delivers the mail to its mail transfer
agent (MTA, mail transfer agent). Often, these two agents are just
different instances of the same software launched with different options on the
same machine. Local processing can be done either on a single machine, or split
among various appliances; in the former case, involved processes can share
files; in the latter case, SMTP is used to transfer the message internally,
with each host configured to use the next appliance as a smart host.
Each process is an MTA in its own right; that is, an SMTP server.
The boundary
MTA has to locate the target host. It uses the Domain name system (DNS)
to look up the mail exchanger record (MX record) for the recipient's domain
(the part of the address on the right of @). The returned MX record contains the name of the
target host. The MTA next connects to the exchange server as an SMTP client. (The
article on MX record discusses many factors in determining which
server the sending MTA connects to.)
Once the MX
target accepts the incoming message, it hands it to a mail delivery agent (MDA)
for local mail delivery. An MDA is able to save messages in the relevant mailbox format.
Again, mail reception can be done using many computers or just one the picture
displays two nearby boxes in either case. An MDA may deliver messages directly
to storage, or forward them over a network using
SMTP, or any other means, including the Local Mail Transfer Protocol (LMTP),
a derivative of SMTP designed for this purpose.
Once delivered
to the local mail server, the mail is stored for batch retrieval by
authenticated mail clients (MUAs). Mail is retrieved by end-user applications,
called email clients, using Internet Message Access Protocol (IMAP),
a protocol that both facilitates access to mail and manages stored mail, or the Post Office Protocol (POP)
which typically uses the traditional mbox mail
file format or a proprietary system such as Microsoft Exchange/Outlook or Lotus Notes/Domino. Webmail clients
may use either method, but the retrieval protocol is often not a formal
standard.
SMTP defines
message transport,
not the message content. Thus, it defines the mail envelope and
its parameters, such as the envelope sender, but not the
header (except trace information) nor the body of the message
itself. STD 10 and RFC 5321 define SMTP (the
envelope), while STD 11 and RFC 5322 define
the message (header and body), formally referred to as the Internet Message
Format.
No comments:
Post a Comment