Posta Elettronica in Internet Crediti Parte delle slide

  • Slides: 18
Download presentation
Posta Elettronica in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale

Posta Elettronica in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J. F Kurose and K. W. Ross (© 1996 -2004 All Rights Reserved) 1

Posta elettronica coda messaggi in uscita mailbox utente user agent Tre componenti principali: r

Posta elettronica coda messaggi in uscita mailbox utente user agent Tre componenti principali: r user agent r mail server r simple mail transfer protocol: SMTP User Agent r “Lettore di posta” (mail reader) r Composizione e lettura dei messaggi di posta r Es. , Eudora, Outlook, elm, Netscape Messenger r I messaggi in ingresso/uscita memorizzati sul server SMTP mail server user agent SMTP user agent mail server user agent 2

Posta elettronica: mail server user agent Mail Server r mailbox contiene le mail in

Posta elettronica: mail server user agent Mail Server r mailbox contiene le mail in arrivo per l’utente r Coda di messaggi (message queue) delle mail in uscita (non ancora inviate) r SMTP protocol tra i mail server per distribuire le mail m SMTP client: mail server invia le mail m SMTP server: mail server riceve le mail server SMTP mail server user agent SMTP user agent mail server user agent 3

Posta elettronica: SMTP [RFC 821] r Usa tcp per il trasferimento affidabile dei messagi

Posta elettronica: SMTP [RFC 821] r Usa tcp per il trasferimento affidabile dei messagi da client a server sulla porta 25 r Trasferimento diretto: da server, non si usano server intermedi di posta r Tre fasi m m m Handshaking (saluto) Trasferimento di uno o più messaggi (connessione permanente) Chiusura r Interazione mediante comandi/risposte m Comando: testo ASCII m Risposta: codice di stato e frase r Attenzione: I messaggi devono essere comunque riportati in formato ASCII a 7 bit, anche i dati multimediali 4

Esempio di invio mail 4) Il client SMTP manda il messaggio di Alice sulla

Esempio di invio mail 4) Il client SMTP manda il messaggio di Alice sulla connessione TCP 5) Il mail server di Bob inserisce il messaggio nella mailbox di Bob 6) Bob utilizza il suo user agent per leggere il messaggio 1) Alice usa il suo user agent per comporre un messaggio per bob@someschool. edu 2) L’user agent manda il messaggio al mail server di Alice; il messaggio è inserito nella coda dei messaggi 3) Il client SMTP apre una connessione TCP con il mail server di Bob (se fallisce riprova dopo 30 min. ) 1 user agent 2 mail server 3 mail server 4 5 6 user agent 5

Esempio di interazione SMTP S-C: Connessione TCP tra client e server S: 220 hamburger.

Esempio di interazione SMTP S-C: Connessione TCP tra client e server 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 pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger. edu closing connection 6

Prova r telnet servername 25 r Osserva 220 reply dal server r Digita i

Prova r telnet servername 25 r Osserva 220 reply dal server r Digita i comandi: m HELO m MAIL FROM m RCPT TO m DATA m QUIT r Questi comandi permettono di inviare email senza usare uno user agent 7

SMTP: conclusioni r RFC (821) del 1982 r SMTP usa connessioni TCP persistenti r

SMTP: conclusioni r RFC (821) del 1982 r SMTP usa connessioni TCP persistenti r Richiede che il messaggio (header & body) sia in formato ASCII 7 -bit r Il server SMTP usa CRLF per determinare la fine del messaggio Confronto con http: r http: protocollo pull r smtp: protocollo push r http: header in ASCII 7 - bit, nessuna limitazione per il body r smtp: header & body in ASCII 7 -bit r http: ogni oggetto incapsulato in un messaggio di risposta separato r smtp: un messaggio con più oggetti è inviato come unico messaggio in più parti 8

Formato dei messaggi di email SMTP (RFC 821): protocollo per lo scambio dei messaggi

Formato dei messaggi di email SMTP (RFC 821): protocollo per lo scambio dei messaggi email RFC 822: standard per il formato dei messaggi di testo: r header, es. header linea vuota body To: m From: m Subject: differenti dai comandi SMTP m r body m il “messaggio”, solo caratteri ASCII-7 bit 9

Formato Messaggi: Estensioni multimediali r MIME: Multipurpose Internet Mail Extensions, RFC 2045, 2056 per

Formato Messaggi: Estensioni multimediali r MIME: Multipurpose Internet Mail Extensions, RFC 2045, 2056 per dati multimediali e di specifiche applicazioni r Righe addizionali nell’header dichiarano il tipo di contenuto MIME Versione MIME Metodo di codifica dati Dichiarazione tipo, sottotipo e parametri dei dati multimediali dati codificati From: alice@crepes. fr To: bob@hamburger. edu Subject: Picture of yummy crepe. MIME-Version: 1. 0 Content-Transfer-Encoding: base 64 Content-Type: image/jpeg base 64 encoded data. . . . . base 64 encoded data 10

Tipi MIME Content-Type: type/subtype; parameters Text r es. sottotipi: plain, html Video r es.

Tipi MIME Content-Type: type/subtype; parameters Text r es. sottotipi: plain, html Video r es. sottotipi: mpeg, quicktime Image r es. sottotipi: jpeg, gif Application r dati che devono essere Audio r es. sottotipi: basic (8 -bit mu-law encoded), 32 kadpcm (codifica a 32 kbps) processati da un’applicazione prima di diventare “visibili” r es. sottotipi: msword, octet-stream Nota: Processo registrazione MIME presso IANA per sviluppo coordinato 11

Multipart Type r E-mail contenente From: alice@crepes. fr più oggetti To: bob@hamburger. edu Subject:

Multipart Type r E-mail contenente From: alice@crepes. fr più oggetti To: bob@hamburger. edu Subject: Picture of yummy crepe. MIME-Version: 1. 0 Content-Type: multipart/mixed; boundary=Start. Of. Next. Part --Start. Of. Next. Part Dear Bob, Please find a picture of a crepe. --Start. Of. Next. Part Content-Transfer-Encoding: base 64 Content-Type: image/jpeg base 64 encoded data. . . . . base 64 encoded data --Start. Of. Next. Part Do you want the recipe? r Boundary character: delimitano gli oggetti r Content. Transfer. Encoding e Content-Type per ogni oggetto 12

Il messaggio ricevuto Received: from crepes. fr by hamburger. edu; 6 Oct 2003 From:

Il messaggio ricevuto Received: from crepes. fr by hamburger. edu; 6 Oct 2003 From: alice@crepes. fr To: bob@hamburger. edu Subject: Picture of yummy crepe. MIME-Version: 1. 0 Content-Transfer-Encoding: base 64 Content-Type: image/jpeg r Riga di header aggiunta dal server ricevente r Received indica il mail server inviante, by indica il mail server ricevente r Più linee “Received” se il messaggio è stato inoltrato da più server SMTP lungo il percorso da mittente a destinatario 13

Protocolli di accesso alla posta r Soluzione tradizionale: utente legge direttamente r r la

Protocolli di accesso alla posta r Soluzione tradizionale: utente legge direttamente r r la posta sul mail server Attraverso l’user agent è possibile visualizzare file multimediali e di specifiche applicazioni Mail server ricevente deve essere sempre attivo => non può stare sull’host dell’utente Agenti di posta accedono alle mailbox che risiedono su un mail server condiviso (da più utenti) In ricezione occorre un protocollo di “pull” per accedere alla mailbox collocata sul mail server 14

Protocolli di accesso alla posta user agent SMTP mail server mittente SMTP access protocol

Protocolli di accesso alla posta user agent SMTP mail server mittente SMTP access protocol user agent mail server ricevente r SMTP: consegna/memorizzazione nel server di posta del mittente r Protocollo di accesso alla mail: recupero della posta dal server m POP: Post Office Protocol [RFC 1939] • Autenticazione (agent <-->server) e scaricamento m IMAP: Internet Mail Access Protocol [RFC 2060] • Più possibilità (più complesso) • Manipolazione dei messaggi memorizzati sul server m HTTP: Hotmail , Yahoo! Mail, ecc. 15

Protocollo POP 3 1) Autorizzazione r comandi cliente: m m user: username pass: password

Protocollo POP 3 1) Autorizzazione r comandi cliente: m m user: username pass: password r risposte server: m m +OK -ERR 2) Transazione, client: r list: elenca messaggi per numero e dimensione r retr: scarica messaggio per numero r dele: cancella r quit S: C: S: +OK POP 3 server ready user bob +OK pass hungry +OK user successfully logged C: S: S: S: C: C: S: list 1 498 2 912. retr 1 <message 1 contents>. dele 1 retr 2 <message 2 contents>. dele 2 quit +OK POP 3 server signing off 3) Aggiornamento on 16

Protocollo POP 3 r Scarica ed elimina (download and delete) 1. 2. 3. User

Protocollo POP 3 r Scarica ed elimina (download and delete) 1. 2. 3. User agent elimina la posta dalla mailbox dopo averla scaricata User agent permette di creare cartelle, spostare messaggi, effettuare ricerche nei messaggi Un utente distribuisce la posta sui diversi host da cui accede alla mailbox r Prova m telnet POP 3 server 110 r Scarica e conserva (download and keep) 1. 2. 3. User agent conserva la posta sulla mailbox Utente può leggere i messaggi da macchine diverse POP 3 stateless tra sessioni diverse, non permette di strutturare i messaggi in directory 17

Protocolli IMAP e HTTP r IMAP r Mantiene tutti i messaggi in un posto:

Protocolli IMAP e HTTP r IMAP r Mantiene tutti i messaggi in un posto: il server r Permette all’utente di organizzare i messaggi in cartelle r Mantiene lo stato dell’utente tra una sesione e l’altra: m nomi della cartelle e associazione tra messaggi e cartelle r Più complesso del POP r HTTP r Web mail (Hotmail) r Usato per spedire e ricevere mail attraverso i mail server r SMTP utilizzato tra mail server r Accessibilità globale r Organizzazione di messaggi in cartelle m server IMAP utilizzato di solito 18