The most common
protocols used by mail server to communicate with the Internet are SMTP,
POP3 and IMAP4 to (send) receive email messages and distribute and them into
different recipient unique mailbox.
Mail servers
receive messages via SMTP and email readers must send email to a mail server
using it. Mail servers using POP3 or IMAP4 to send messages, likewise; mail
readers must use it to receive messages from the mail servers.
SMTP
(Simple Mail Transport Protocol); for sending and receiving email messages
and POP3 (Post Office Protocol Version 3); for delivering and retrieving
email messages to mail readers, example: MS Outlook, Eudora, etc.
IMAP4
(Internet Message Access Protocol Version 4); for delivering messages to
mail readers or to preview and retrieve emails from mail servers.
POP3
is a standard client-server
protocol for receiving emails. The POP3 mail servers listen for email
requests via port 110 and send email to the requesting party.
The client side (ie: Outlook, Eudora) mail readers can access (retrieve) emails by
issuing a predefined set of commands to the mail server.
A POP3 session
is created when a remote user
connects to a mailbox on the POP3 mail server and ends when the remote user
disconnects from it.
While a session
is open, no other user can retrieve email from the POP3 mailbox but email
can still be sent to that account.
The POP3 clients
(Outlook, Eudora) login to the POP3 server by sending as clear text the
password for the mail account or uses APOP authentication--
--where the
password itself is not sent to the remote mail server--using a digest
created by the RSA MD5 algorithm--based on the password with a unique value
sent by the POP3 mail server—that changes with connection.
Therefore, APOP
ensures that a different digest will be sent each time you log into the
server.
(IMAP4)
Internet Message
Access Protocol Version
4
IMAP4
is an alternative to POP3 for
retrieving emails that operate via server port 143 that identify users by
account name and password. IMAP4 protocol was designed to allow messages to
be managed on the server.
Since the messages remain on the server,
the protocol is useful for users to access emails from various client
computers.
IMAP4 server
stores messages in different mailboxes. More than one user is allowed
to access to an IMAP4 mailbox, therefore allowing mailboxes to be shared by
multiple users.
(SMTP)
Simple Mail Transport Protocol
SMTP is a protocol
governing electronic mail transmission and reception. A conversation is
established with a SMTP server via port 25 --After the initial connection, the
client ie: Eudora Mail, Outlook Express, etc. sends a HELO command followed by
the domain name, telling the SMTP server whom it is talking to.
The SMTP
server may terminate the connection if it does not wish to speak to the
specified domain.
If the HELO
command is accepted by the remote server, the SMTP client issues a MAIL-FROM
command followed by the FROM: address, at this point the SMTP server
may terminate the connection if it does not wish to speak to the specified
domain.
After the
FROM address is accepted, the SMTP client issues a RCPT-TO
command followed by the address of the intended recipient--the SMTP server may
terminate the connection if it does not wish to speak to the specified
address, example: non local.
The SMTP
client issues the DATA command to the server and if accepted--it then send the
message headers followed by blank line and the message body, file attachment
and finally followed by a period to end the message--the SMTP server
acknowledges receipt--and the SMTP client send a QUIT command and terminate
the conversation.
Extended SMTP
ESMTP consists of several extensions (all optional) to the basic SMTP
protocol which may or may not be supported by mail servers and normal
SMTP involves several fragments of data being sent from the client to
the mail server.
After each fragment is sent, the client waits
for the mail server acknowledgement reply and then the client sends the next
fragment, and so on. Therefore, a time is wasted while waiting for the
server to return a response.
Pipelining extension
Pipelining can
send messages faster by allowing the client to batch several fragments of data
together and sending them all at once, and the server only need to acknowledge
with one reply for the combined set of data.
Since the fragments and
acknowledgements are combined, the client spends less time waiting for the
server to respond.
Delivery Status
Notifications
DSN extension
supported
SMTP servers
allow greater control of the notification process by specifying when and how
notifications are sent.
DSN extensions
also allow for an "Envelope ID" to be included in the outbound message,
which is returned as a MIME part of the delivery status
notifications--therefore, allowing client applications to match delivery
status notifications to the original message.
An example
MIME part to a DSN message with the Envelope ID specified as 3112394
--FAA10845.816082428/mail.domain.com
Content-Type: message/delivery-status
Original-Envelope-Id: 3112394
Reporting-MTA: dns; mail.domain.com
Received-From-MTA: DNS; tony.bouncemailmanager.com
Arrival-Date: Tue, 10 Dec 2002 12:37:15 -0900 (EST)
Original-Recipient: rfc822;tony@bouncemailmanager.com
Final-Recipient: RFC822; xxx0021@mail.domain.com
Action: delivered (to mailbox)
Status: 2.1.5
Last-Attempt-Date: Tue, 10 Dec 2002 12:37:43 -0900 (EST)
-- FAA10845.816082428/mail.domain.com
|