Chapter 26: SMTP and a Brief Introduction to POP, IMAP and MIME Clemson Lugtu Jeff Hahn Jeremy Uziel What is Electronic Mail? Electronic Mail - It is a facility that allows users to transmit messages across the Internet. It is the most widely used application service offering
Chapter 26: SMTP and a Brief Introduction to POP, IMAP and MIME
transmit messages across the Internet.
a fast conventional method of transferring information.
SPOOLING to handle delayed delivery
its private storage (also known as a spool)
a background activity.
the message to the remote server.
delivery was attempted and terminates.
spool area periodically. (usually 30 minutes)
recipient, destination machine, and the time a mail
message was deposited.
outgoing mail, it attempts delivery.
time, the mail software returns the mail message to
the domain name of a mail destination to which mail
should be delivered.
It is often identical to a login name or a full name
of a user.
clem, comer, and john distinguish the local part of an
electronic mail address.
csun.edu, purdue.edu, and example.com distinguish the
domain-name part of an email address.
includes a (mail alias expansion) mechanism.
used in mail addresses to a set of one or more new
the (mail interface program) talks to the local aliases
to replace the recipient with the mapped version before
passing the message to the delivery system.
separated by a blank line
abstraction known as a MAILBOX. Mailboxes are located on
the same computer as a server.
that are kept on a mail server. It permits a client
e-mail program to view and manipulate those messages.
or manipulated from a desktop computer at home,
a notebook computer, or at a workstation. We can also say
that mail messages can be accessed from multiple
Includes operations for:
version 1.0 of the MIME protocol.
and a subtype. type/subtype(i.e. image/jpeg, audio/wav,
..data for the image..
MIME multipart messages within the Content-Type adds
independent sub-messages each having its independent type
representations of the same data.
Content-Type: Multipart/Mixed; Boundary=StartOfNextPart
Here is the photo of the carrier pigeons I saw last
..data for the image..
The keyword “Boundary=“ is used to separte parts of the
message. StartOfNextPart is used to serve as the
e-mails you send and to save attachments from e-mails
be added in the body of the message) Attachments
can be referred to as a word document, sound files,
images, or pieces of software.
it can produces a problem.
What should or what shouldn’t SMTP specify?
system passes messages across an internet from machine to
from a user or how the user interface presents messages.
It also does not specify how mail is stored or how frequent
a mail system accepts to send messages.
Mail relaying is SMTP's capability of transporting across
process using the same or other networks via a relay
process accessible to both networks.
relay or gateways hosts from sender to ultimate destination.
VRFY Responses from Server:
553 User ambiguous
553- Ambiguous; Possibilities are
553-Joe Smith <firstname.lastname@example.org>
553-Harry Smith <email@example.com>
553 Melvin Smith <firstname.lastname@example.org>
C: EXPN Example-People
S: 250-Jon Postel <Postel@isi.edu>
S: 250-Fred Fonebone <Fonebone@physics.foo-u.edu>
S: 250 Sam Q. Smith <SQSmith@specific.generic.com>
C: EXPN Executive-Washroom-List
S: 550 Access Denied to You.
- After receiving a QUIT command and responding with a 221 reply.
- After detecting the need to shut down the SMTP service and returning a 421 response code. This response code can be issued after the server receives any command or, if necessary, asynchronously from command receipt (on the assumption that the client will receive it after the next command is issued).
The notification message must be sent using:
Simple counting of the number of "Received:" headers in a message has proven to be an effective, although rarely optimal, method of detecting loops in mail systems. SMTP servers using this technique should use a large rejection threshold, normally at least 100 Received entries. Whatever mechanisms are used, servers must contain provisions for detecting and stopping trivial loops.