Download presentation
Presentation is loading. Please wait.
1
Internet Engineering Course
Electronic Mail
2
Electronic Mail Most heavily used application on any network
Uses client-server architecture Electronic mail client accepts mail from user and delivers to server on destination computer Many variations and styles of delivery Simple Mail Transfer Protocol (SMTP) TCP/IP Delivery of simple text messages Multi-purpose Internet Mail Extension (MIME) Delivery of other types of data Voice, images, video clips
3
SMTP Concept
4
User Agents and Mail Transfer Agents
5
Relay MTAs
6
Mail Gateways
7
The Entire E-mail System
8
SMTP Simple Mail Transfer Protocol is standard application protocol for delivery of mail from source to destination Built on top of TCP: provides reliable delivery of data SMTP does not normally use intermediate mail servers for sending mail SMTP uses persistent connections Other functions: address lookup address verification Example protocol exchange
9
Sample SMTP interaction
c:\Telnet payk.ui.ac.ir 25
11
SMTP RFC 821 Not concerned with format of messages or data
Covered in RFC 822 (see later) SMTP uses info written on envelope of mail Message header Does not look at contents Message body Except: Standardize message character set to 7 bit ASCII
12
Basic Operation Mail created by user agent program (mail client)
Message consists of: Header containing recipient’s address and other info Body containing user data Messages queued and sent as input to SMTP sender program Typically a server process (daemon on UNIX)
13
Mail Message Contents Each queued message has:
Message text RFC 822 header with message envelope and list of recipients Message body, composed by user A list of mail destinations Derived by user agent from header May be listed in header May require expansion of mailing lists May need replacement of mnemonic names with mailbox names If BCCs indicated, user agent needs to prepare correct message format
14
SMTP Sender Takes message from queue
Transmits to proper destination host Via SMTP transaction Over one or more TCP connections to port 25 Host may have multiple senders active When delivery complete, sender deletes destination from list for that message When all destinations processed, message is deleted
15
Optimization If message destined for multiple users on a given host, it is sent only once Delivery to users handled at destination host If multiple messages ready for given host, a single TCP connection can be used Saves overhead of setting up and dropping connection
16
Possible Errors Host unreachable Host out of operation
TCP connection fail during transfer Sender can re-queue mail Give up after a period Faulty destination address User error Target user changed address Redirect if possible Inform user if not
17
SMTP Protocol - Reliability
Used to transfer messages from sender to receiver over TCP connection Attempts to provide reliable service No guarantee to recover lost messages No end to end acknowledgement to originator Error indication delivery not guaranteed Generally considered reliable
18
SMTP Receiver Accepts arriving message
Places in user mailbox or copies to outgoing queue for forwarding Receiver must: Verify local mail destinations Deal with errors Transmission Lack of disk space Sender responsible for message until receiver confirm complete transfer Indicates mail has arrived at host, not user
19
SMTP Forwarding Mostly direct transfer from sender host to receiver host May go through intermediate machine via forwarding capability Sender can specify route Target user may have moved
20
Conversation SMTP limited to conversation between sender and receiver
Main function is to transfer messages Rest of mail handling beyond scope of SMTP May differ between systems
21
SMTP Mail Flow
22
SMTP System Overview Commands and responses between sender and receiver Initiative with sender Establishes TCP connection Sender sends commands to receiver e.g. HELO<SP><domain><CRLF> Each command generates exactly one reply e.g. 250 requested mail action ok; completed
23
SMTP Replies Leading digit indicates category
Positive completion reply (2xx) Positive intermediate reply (3xx) Transient negative completion reply (4xx) Permanent negative completion reply (5xx)
24
Operation Phases Connection setup Exchange of command-response pairs
Connection termination
25
Connection Setup Sender opens TCP connection with receiver
Once connected, receiver identifies itself 220 <domain> service ready Sender identifies itself HELO Receiver accepts sender’s identification 250 OK If mail service not available, step 2 above becomes: 421 service not available
26
Mail Transfer Sender may send one or more messages to receiver
MAIL command identifies originator Gives reverse path to used for error reporting Receiver returns 250 OK or appropriate fail/error message One or more RCPT commands identifies recipients for the message Separate reply for each recipient DATA command transfers message text End of message indicated by line containing just period (.)
27
Closing Connection Two steps Sender sends QUIT and waits for reply
Then initiate TCP close operation Receiver initiates TCP close after sending reply to QUIT
28
Electronic Mailboxes and Addresses
users have an electronic mailbox into which mail is deposited Usually associated with computer account; one user may have different electronic mailboxes User accesses mail with a mail reader program Electronic mailbox is identified by an e- mail address
29
E-mail message format Simple two-part format
Header includes delivery information Body carries text of message Header and body is separated by blank line
30
E-mail Headers Lines of text in format keyword: information
keyword identifies information; information can appear in any order Essential information: To: list of recipients From: sender Cc: list of copy recipients Useful information Reply-to: different address than From: Received-by: for debugging Frivolous information: Favorite drink: lemonade Phase-of-the-moon: gibbous
31
Data in E-mail Original Internet mail carried only 7-bit ASCII data
Couldn’t contain arbitrary binary values; e.g., executable program Techniques for encoding binary data allowed transport of binary data Uuencode: three 8-bit binary values as four ASCII characters (6 bits each) Also carries file name and protection information Incurs 33% overhead
32
Multipurpose Internet Mail Extension (MIME)
Extension to RFC822 SMTP can not transmit executables Uuencode and other schemes are available Not standardized Can not transmit text including international characters (e.g. â, å, ä, è, é, ê, ë) Need 8 bit ASCII Servers may reject mail over certain size Translation between ASCII and EBCDIC not standard Some SMTP implementations do not adhere to standard CRLF, truncate or wrap long lines, removal of white space, etc.
33
MIME Multipart Internet Mail Extensions - Extends and automates encoding mechanisms Allows inclusion of separate components – programs, pictures, audio clips – in a single mail message Sending program identifies the components so receiving program can automatically extract and inform mail recipient Header includes MIME-Version: 1.0 Content-Type: Multipart/Mixed; Boundary=Mime_separator Separator line gives information about specific encoding Content-Type: text/plain
34
MIME (cont.) MIME is extensible – sender and receiver agree on encoding scheme MIME is compatible with existing mail systems Everything encoded as ASCII Headers and separators ignored by non-MIME mail systems MIME encapsulates binary data in ASCII mail envelope
35
MIME
36
Overview of MIME Five new message header fields MIME version
Content type Content transfer encoding Content Id Content Description
37
Content Types Text body Multipart Message Image Video Audio
Mixed, Parallel, Alternative, Digest Message RFC 822, Partial, External-body Image jpeg, gif Video mpeg Audio Basic Application Postscript octet stream
38
MIME Transfer Encodings
Reliable delivery across wide largest range of environments Content transfer encoding field Six values Three (7bit, 8bit, binary) no encoding done Provide info about nature of data Quoted-printable Data largely printable ASCII characters Non-printing characters represented by hex code Base64 Maps arbitrary binary input onto printable output X-token Named nonstandard encoding
39
Message format: multimedia extensions
MIME: multimedia mail extension, RFC 2045, 2056 additional lines in msg header declare MIME content type From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......base64 encoded data MIME version method used to encode data multimedia data type, subtype, parameter declaration Multipurpose Internet Mail Extension (MIME) Content-Transfer-Encoding indicates the method to convert to ASCII code Content-Type indicates the type of content encoded data
40
Multipart Type Break into parts? Compare with HTTP?
From: To: Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary= Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Dear Bob, Please find a picture of a crepe. Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......base64 encoded data Break into parts? Similar to HTTP that the mail message contains many objects. HTTP uses one request/reply round to send a message, but SMTP sends different objects within one message. Compare with HTTP? 2: Application Layer
41
Printable Encoding of Binary Data into Radix-64 Format
42
Programs as mail recipients
Can arrange for box to be associated with a program rather than a user’s mail reader Incoming mail automatically processed as input to program Example – mailing list subscription administration Can be used to implement client-server processing Client request in incoming mail message Server response in returned mail reply
43
Mailing Lists and Forwarders
addresses can be attached to programs as well as electronic mailboxes Mail exploder or mail forwarder resends copies of message to addresses in mailing list UNIX mail program sendmail provides mail aliases Mailing list processor, e.g. listserv, can also interpret subscription management commands
44
Mail Gateways Mailing list processing may take significant resources in large organizations May be segregated to a dedicated server computer: mail gateway Provides single mail destination point for all incoming mail Can use MX records in DNS to cause all mail to be delivered to gateway
45
Mail gateways and forwarding
Users within an organization may want to read mail on local or departmental computer Can arrange to have mail forwarded from mail gateway Message now makes multiple hops for delivery Hops may be recorded in header Forwarded mail may use proprietary (non-SMTP) mail system
46
Mailbox Access Where should mailbox be located?
Users want to access mail from most commonly used computer Cannot always use desktop computer as mail server Not always running Requires multitasking OS Requires local disk storage Can TELNET to remote computer with mail server Can use WEB based interfaces to access mailbox
47
Mail Access Protocols Instead of TELNET, use protocol that accesses mail on remote computer directly Mail access protocol transfers mail from server to local PC 2 popular protocols: POP3 (Post Office Protocol v3) IMAP (Internet Mail Access Protocol) Can’t use SMTP because getting messages is a pull operation & SMTP is a push protocol.
48
Post Office Protocol (POP)
TCP/IP suite includes Post Office Protocol (POP) for remote mailbox access Computer with mailboxes runs POP server User runs POP client on local computer POP client can access and retrieve messages from mailbox Requires authentication (password) Local computer uses SMTP for outgoing mail
49
POP3 and SMTP
50
POP3 Stands for Post Office Protocol – Version 3 RFC in 1993
POP3 “is intended to permit a workstation to dynamically access a maildrop on a server host in a useful fashion. Usually, this means that the POP3 protocol is used to allow a workstation to retrieve mail that the server is holding for it.“
51
POP3 Doesn’t provide extensive mail operations on the server
Normally mail is downloaded, then deleted Deletion doesn’t really occur until QUIT Uses port 110
52
POP3 Three phases Authorization Transaction Update During a POP3 session, the server maintains state information POP3 downloads mail messages to the local machine – not good for “nomadic user”
53
POP3 protocol authorization phase C: list transaction phase, client:
S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on authorization phase client commands: user: declare username pass: password server responses +OK -ERR transaction phase, client: list: list message numbers retr: retrieve message by number dele: delete quit C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> C: dele 1 C: retr 2 C: dele 2 C: quit S: +OK POP3 server signing off
54
Dialup Access and POP POP is useful for dialup connection
User’s computer not always connected Can download all mail at once and read off- line Can compose mail off-line and mail in one connection
55
Minimal POP3 Commands USER name – user’s name
PASS string – user’s password QUIT – quits, and updates the mailbox STAT – status LIST [msg] – lists the mail messages (#’s only) RETR msg – retrieves a mail message DELE msg – deletes a message NOOP – No operation RSET – resets the mail to its original state
56
IMAP Internet Mail Access Protocol
Allows users to manipulate remote mailboxes Must maintain info about user (e.g., folder hierarchy) even after the user quits IMAP server is always in 1 of 4 states: Nonauthenticated Authenticated Selected Logout
57
POP3 (more) and IMAP More about POP3 IMAP
Previous example uses “download and delete” mode. Bob cannot re-read if he changes client “Download-and-keep”: copies of messages on different clients POP3 is stateless across sessions IMAP Keep all messages in one place: the server Allows user to organize messages in folders IMAP keeps user state across sessions: names of folders and mappings between message IDs and folder name
58
Security SMTP, POP3 and IMAP are plain text protocols
Secured version available to protect the user SMTPS POP3s Need to be configured both on server and client
59
Stunnel Name of an application/service What does it do?
Even if the mail server application does not implement secure version What does it do? gathers the encrypted message from client Decrypts the data Sends plain text data using a local connection to insecure port Server application considers it a normal client
60
STunneling Client Server Send decrypted data to port 25 of the server
(on server) Listening to port 995 Encrypted data (Command/mail body) Client Server
61
Web interface Nowadays there are many web interface user agents
They allow accessing messages from any client with only a web browser However the interface is not as sophisticated as special mail agents But it is very useful if you need to check your s from different computers
62
Summary for Electronic mail allows quick, asynchronous communication across entire Internet Can attach addresses to programs for processing Mailing lists Other client-server applications Simple Mail Transfer Protocol (SMTP) is Internet standard for mail delivery Mail gateways Provide uniform user addressing outside organizations Translate from Internet mail (e.g. SMTP) to proprietary systems Post Office Protocol (POP) and Internet Mail Access Protocol (IMAP) allow remote access to electronic mailboxes.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.