Title: Electronic Mail
1Electronic Mail
2E-Mail
- Client Software and Mail Hosts
- Client PC has E-Mail client software that
communicates with users mail host - Mail hosts deliver outgoing mail to other mail
hosts
PC with E-Mail Client
PC with E-Mail Client
Mail Host
Mail Host
3SMTP
- Simple Mail Transfer Protocol (SMTP)
- Standard for mail host-mail host exchanges
- E-Mail Client often sends messages to mail host
via SMTP, but not always
SMTP
SMTP
PC with E-Mail Client
Mail Host
Mail Host
4SMTP Operation
- For Each Message, the Sending Process
- Makes a connection
- Gives name of sender (From) and gets OK
- Gives names of receivers individually and gets OK
for each separately - Asks to send message, gets OK
- Sends message, gets confirmation
- Closes connection
5Receiving and Sending E-Mail
- Users Mail Host Stores Incoming Files in the
Users Mailbox - User later retrieves them
- User also sends outgoing mail
Receive Mail
Send Mail
Client PC
Mail Host With Users Mailbox
6File Server Program Access E-Mail
- Use proprietary ways to send messages, get
messages, and in other ways interact with the
mail host - Can be used only on LANs
- Cannot be used over the Internet
PC with FSPA E-Mail Program
LAN
7POP Clients
- POP (Post Office Protocol) is the most popular
standard for mail downloading - Download messages all or selectively
- Send outgoing messages via SMTP
- Works via Internet
SMTP
SMTP
POP
PC with Internet E-Mail Client
Mail Host
Mail Host
8POP Operation
- Several client-mail host interactions needed to
download new mail - Log into mail host
- Can ask how many new messages there are and how
long they are - Can download all or download one at a time
- If download one at a time, can decide based on
length - Can delete messages on host after downloading
- Close the session
9IMAP Clients
- IMAP (Internet Message Access Protocol)
- But not as widely supported as POP
- Send outgoing messages via SMTP
- Works via the Internet
SMTP
SMTP
IMAP
PC with Internet E-Mail Client
Mail Host
Mail Host
10IMAP Clients
- IMAP (Internet Message Access Protocol)
- More sophisticated than POP
- Can do more on mail servers mailbox than
download and delete messages can fully manage
the mailbox
SMTP
SMTP
IMAP
PC with Internet E-Mail Client
Mail Host
Mail Host
11Browser Clients (Web-Based E-Mail)
- Client is Browser
- Mail Host is a Webserver
- Mail host sends HTML pages to client
- User types messages and retrieval data in forms,
sends back - All communication is via HTTP
HTTP
SMTP
PC with Browser
Webserver Mail Host
Mail Host
12Telnet Clients
- Some mail hosts support Telnet
- Telnet client on PC emulates a simple terminal
- No color or graphics
- Monospaced Text
- Sometimes only way to interact with a mail host
Telnet
SMTP
PC with Telnet Client
Mail Host Supporting Telnet
Mail Host
13Recap on Internet E-Mail Transmission
- Communication Between Mail Hosts
- SMTP
- Communication From Client to its Mail Host
- SMTP
- Proprietary file server program access on LANs
- HTTP
- Telnet
14Recap on Internet E-Mail Transmission
- Communication to Client from its Mail Host to
deliver messages - POP or IMAP
- Proprietary file server program access on LANs
- HTTP
- Telnet
15Note on Internet E-Mail Transmission
- Client and Server can Communicate Over the
Internet - Except for File Server Program Access
- You can access your e-mail from anywhere
- Must have the right client program
16Message Structure Standards
- RFC 822
- Text-only message bodies
- MIME
- Multimedia message bodies and headers
- Not widely used for bodies or headers
- HTML Bodies
- Becoming common
- Not well standardized Limited interoperability
between mail clients
17Attachments
- Send a message
- Attach a file (word processing document,
spreadsheet, graphic, etc.) - E-mail can be a file delivery mechanism
18Attachments
- Viruses
- Attachments may contain viruses
- Even messages without attachments may contain
viruses today - Virus scanning before opening is critical
19Attachments
- Problem
- Attached files use all 8 bits of each byte
- Called binary data
- On Internet, can only use the first seven bits
- Called 7-bit ASCII
- In Internet transmission, 7th bit may be
truncated if send binary file
20Attachments
- Internet Encoding
- Files must be Internet encoded before
transmission to travel over the Internet using
only the first 7 bits in each byte - At the receiving end, files must be Internet
decoded so that applications can read them
Internet Encoding
Internet Transmission
Internet Decoding
10101010
Binary
21Attachments
- Internet Encoding Example (There are Other
Internet Encoding Standards) - Break file into groups of three data bytes (24
bits) - Create group of four encoded bytes (32 bits)
11111111
00000000
11111111
Data Bytes
Encoded Bytes
22Attachments
- Internet Encoding Example (There are Other
Internet Encoding Standards) - Put six bits of each data byte in each outgoing
byte - Leaves two bits free in each outgoing byte
6,2
11111111
00000000
11111111
Data Bytes
xx111111
xx11
Encoded Bytes
23Attachments
- Internet Encoding Example (There are Other
Internet Encoding Standards) - Put six bits of each data byte in each outgoing
byte - Leaves two bits free in each outgoing byte
4,4
11111111
00000000
Data Bytes
xx111111
xx110000
xx0000
Encoded Bytes
24Attachments
- Internet Encoding Example (There are Other
Internet Encoding Standards) - Put six bits of each data byte in each outgoing
byte - Leaves two bits free in each outgoing byte
2,6
11111111
00000000
11111111
Data Bytes
xx111111
xx110000
xx000011
xx111111
Encoded Bytes
25Attachments
- Internet Encoding Example (There are Other
Internet Encoding Standards) - Lowest 31 ASCII codes are control codes
- Add 32 (100000) to each outgoing byte so that it
will not become a control code - 8th bit is still free, as required
xx111111
xx110000
xx000011
xx111111
Encoded Bytes
Add 100000
x1011111
x1010000
xx100011
x1011111
Encoded Bytes
26Attachments
- Internet Encoding Standards
- Communicating mail clients must use the same
Internet encoding standard to encode and decode - UUENCODE is common in UNIX
- MIME
- Several versions of MIME exist
- Basic MIME is almost universally supported by
e-mail clients today - Binhex is commonly used on Macintoshes
27Attachments
- E-Mail users should negotiate before sending an
attachment - Internet encoding standard they will use
- Application file format they will use
- If same application program and version, fine
- If same application program and different
versions, send in format of older version - If different application programs, send in a
format and version the other can import
28E-Mail Standards Recap
- Transmission Standards
- Sending messages (SMTP, etc.)
- Receiving messages (POP, IMAP, etc.)
- Message Structure Standards
- Message header and body (RFC 822, MIME, HTML)
- Attachments common Internet encoding standard
- Attachments common application file format