130 likes | 284 Views
I protocolli di email. 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
E N D
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
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
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.
Esempio di interazione SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S:354 Enter mail, end with “.” on a line by itself C: Do you like ketchup? C: How about chips? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection
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.
SMTP: note finali • SMTP usa connessioni persistenti. • SMTP richiede che il messaggio (header & body) sia in ASCII a 7 bit. • Alcune sequenze di caratteri non sono permesse (es. CRLF.CRLF). Quindi i messaggi devono essere codificati (base 64 o quoted printable). • SMTP server usa CRLF.CRLF per determinare la fine del messaggio. • Confronto con HTTP: • HTTP: pull; SMTP: push. • Entrambi hanno interazione comandi/risposte in ASCII, codici di stato. • HTTP: ogni oggetto è incapsulato nel suo messaggio di risposta; SMTP: oggetti multipli spediti in un messaggio multipart
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.
Formato messaggi: estensioni multimediali • MIME: Multipurpose Internet Mail Extensions, RFC 2045, 2056. • Linee aggiuntive nello header definiscono il MIME content type
MIME typesContent-Type: type/subtype; parameters Text • esempi di subtypes: plain, html. Image • esempi di subtypes: jpeg, gif. Audio • esempi di subtypes: basic (8-bit mu-law encoded), 32kadpcm (32kbps coding). Video • esempi di subtypes: mpeg, quicktimes. Application • altri dati che devono essere processati dal reader prima di essere visibili; • esempi di subtypes: msword, octet-stream.
Multipart Type From: alice@crepes.fr To: bob@hamburger.edu 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--
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.
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