I protocolli di email
1
Posta elettronica

Tre componenti:
•
user agents
•
mail servers
•
Simple mail transfer protocol
(SMTP)

User agent
•
ovvero il mail reader
•
composizione, lettura, editing dei
messaggi di posta
•
ad es., Eudora, Outlook, elm, pine
•
messaggi in arrivo e in partenza
memorizzati sul server
2
Posta elettronica: mail servers

Mail server
• mailbox contiene i messaggi
in arrivo (ancora da leggere)
per lo user agent
• coda messaggi in uscita (da
spedire)
• protocollo SMTP fra mail
servers per spedire la posta

client: sending mail server

“server”: receiving mail
server
3
Posta elettronica: SMTP

SMTP è definito nella RFC 821.

Usa TCP per trasferire in modo affidabile i messaggi email dal client al
server, usando la porta 25.

Trasferimento diretto: dal sending server al receiving server.

Tre fasi del trasferimento:


•
handshaking,
•
trasferimento messaggi,
•
chiusura.
Interazione comando/risposta:
•
comando: testo ASCII;
•
risposta: codice e frase di stato.
I messaggi devono essere in ASCII a 7 bit.
4
Esempio di interazione SMTP
S:
C:
S:
C:
S:
C:
S:
C:
S:
C:
C:
C:
S:
C:
S:
220 hamburger.edu
HELO crepes.fr
250 Hello crepes.fr, pleased to meet you
MAIL FROM: <[email protected]>
250 [email protected]... Sender ok
RCPT TO: <[email protected]>
250 [email protected]... Recipient ok
DATA
354 Enter mail, end with “.” on a line by itself
Do you like ketchup?
How about chips?
.
250 Message accepted for delivery
QUIT
221 hamburger.edu closing connection
5
Prova di interazione SMTP

telnet servername 25

Aspettare la risposta 220 dal server.

Inserire i comandi HELO, MAIL
FROM, RCPT TO, DATA, QUIT.
Nota: è possibile spedire una email
senza usare un email reader.
6
SMTP: note finali

SMTP usa connessioni persistenti.

SMTP richiede che il messaggio
• HTTP: pull; SMTP: push.
(header & body) sia in ASCII a 7
• Entrambi hanno interazione

Confronto con HTTP:
bit.
comandi/risposte in ASCII,
Alcune sequenze di caratteri non
codici di stato.
sono permesse (es. CRLF.CRLF).


• HTTP: ogni oggetto è
Quindi i messaggi devono essere
incapsulato nel suo messaggio
codificati (base 64 o quoted
di risposta; SMTP: oggetti
printable).
multipli spediti in un messaggio
SMTP server usa CRLF.CRLF per
multipart
determinare la fine del
messaggio.
7
Formato dei messaggi di mail

SMTP: protocollo per lo
scambio di messaggi email.

RFC 822: standard per
messaggi in formato testo.
• Header lines, ad es.:

To:

From:

Subject:

sono diversi dai comandi
SMTP!
• Body:

il “messaggio”, caratteri ASCII
soltanto.
8
Formato messaggi: estensioni
multimediali

MIME: Multipurpose Internet Mail Extensions, RFC 2045, 2056.

Linee aggiuntive nello header definiscono il MIME content type
9
MIME types
Content-Type: type/subtype; parameters
Text

esempi di subtypes: plain,
Video

html.
Image

esempi di subtypes: jpeg, gif.
esempi di subtypes: mpeg,
quicktimes.
Application

altri dati che devono essere
processati dal reader prima di
essere visibili;
Audio

esempi di subtypes: basic (8bit mu-law encoded),

esempi di subtypes: msword,
octet-stream.
32kadpcm (32kbps coding).
10
Multipart Type
From: [email protected]
To: [email protected]
Subject: picture of yummy crepe.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=98766789
--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Dear Bob,
Please find a picture of a crepe.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data …………………
………………………………………………………………………
……………………base64 encoded data
--98766789--
11
Protocolli di accesso alla posta

SMTP: spedizione al server di ricezione e memorizzazione.

Protocolli di accesso mail: recupero dal server.

POP: Post Office Protocol [RFC 1939].

•
•
Autorizzazione (agent <--> server) e download.
IMAP: Internet Mail Access Protocol [RFC 2060].

Più funzionalità e maggiore complessità.

Manipolazione dei messaggi memorizzati sul server.
HTTP: Hotmail, Yahoo! Mail, ecc.
12
Protocollo POP3
Fase di autorizzazione


Comandi client:
•
user: username;
•
pass: password.
Risposta server:
•
+OK
•
-ERR
Fase di transazione (client)

list: lista dei numeri di messaggi,
con dimensione degli stessi;

retr: recupero messaggi in base al
numero;

dele: cancellare;

quit
13
Scarica

Protocolli di email