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