Posta Elettronica #1 la Posta Elettronica e basata su due componenti: s : applicativi utilizzati dall utente per comporre, inviare e leggere messaggi (p.e. Outlook) Telematica II 13. Posta Elettronica Mail s : contengono i messaggi in ingresso/uscita degli utenti e gestiscono le mailbox I principali protocolli utilizzati sono: SMTP (Simple Mail Transfer Protocol) : protocollo utilizzato dai mail per il trasferimento dei messaggi invio dei messaggi da client a interazione tra differenti mail POP3/IMAP : protocolli per l accesso alle mailbox POP3 = Post Office Protocol ver.3 IMAP = Internet Message Access Protocol (si differenzia da POP3 perchè consente una migliore interattività con un mail ) Corso di Laurea in Ingegneria Informatica A.A. 2009-2010 2 Semestre HTTP : via webmail (yahoo, libero, gmail, ecc) Prof. Giovanni Pascoschi 2 Posta Elettronica #2 Posta Elettronica #3 outgoing message queue 1 sender Agent 1 SMTP Mail Server 1 Agent 2 POP3/IMAP session Mail Server 2 2 receiver mail SMTP mail mailbox Flusso del messaggio Mail Box mail SMTP la disciplina della coda di messaggi sul mail dipende dalla configurazione degli stessi una mail box è fisicamente rappresentata da un file contenente i messaggi di un utente sul invio & ricezione operazioni asincrone 3 4 mailbox caratterizzata da: mail@mail a.cassano@libero.it
Protocollo SMTP Comandi SMTP 5 Message Sender (SMTP Client) Mail Client SMTP session TCP connection Mail Box Port 25 Message Receiver (SMTP Server) Mail Server struttura client/ del protocollo e modello di interazione request/response (RFC 2821) in linea generale è richiesta una procedura di autenticazione tra client e (allo scopo di evitare fenomeni di spamming) basata su IP del client (pool di indirizzi autorizzati) basata su accounting utente con meccanismi crittografci (SSL) protocollo di tipo testuale command-based con comandi aventi sinossi del tipo nomecomando (parametri) 6 HELO <sender host name> identifica il client presso il mail locale (esso mantiene un pool di IP validi o garantisce autenticazione mediante name e password) MAIL From: <sender of the message> Identifica il mittente del messaggio mediante il suo indirizzo e-mail RCPT To: <recipient of the message> (p.e. mailbox@mail) Specifica il destinatario del messaggio mediante il suo indirizzo e-mail DATA <Body of the mail> Specifica il contenuto del messaggio (chiuso da CR+LF. CR+LF in corrispondenza dell ultima linea di testo) contiene anche gli header (subject, cc, ccn) QUIT chiude la sessione RSET annulla il trasferimento corrente VRFY <recipient to be verified> Consente di verificare l esistenza dell indirizzo del destinatario NOOP Non esegue nessuna operazione, ma forza il a rispondere con OK è adoperato per verificare che il sia ancora in attività Risposte SMTP Formato di un messaggio 220 <domain> servizio pronto 250 comando completato con successo 251 utente non locale; la mail verrà inoltrata 354 iniziare l inserimento del corpo della mail; terminare con <CRLF>.<CRLF> 421 <domain> servizio non disponibile 450 mailbox non disponibile 451 errore locale nel processing 500 errore di sintassi: comando sconosciuto 501 errore di sintassi negli argomenti 502 comando non implementato 554 transazione fallita comando completato con successo richiesta di interazione comando completato con errori reversibili comando completato con errori irreversibili aprendo un messaggio SMTP con un editor di testo è possibile visualizzare la struttura Envelope MAIL From: <mittente> RCPT To: <destinatario> Headers Received: by sun.tuc.noao.edu. Date: Mon, 19 Jul 1993 12:47:31 Subject: testing Body Testo dell email. anche molteplici 7 8
Esempio di sessione SMTP #1 Esempio di sessione SMTP #2 220 vsmtp1alice.tin.it ESMTP Service (7.0.027) ready prompt mail HELO [193.204.59.21] 250-vsmtp1alice.tin.it host riconosciuto MAIL FROM:<a.pippo@poliba.it> SIZE=369 250 MAIL FROM:<a.pippo@poliba.it> OK RCPT TO:<a.pippo@poliba.it> 250 RCPT TO:<a.pippo@poliba.it> OK DATA 354 Start mail input; end with <CRLF>.<CRLF> richiesta di interazione Message-ID: 42789872.3000106@poliba.it corpo del messaggio Date: Wed, 04 May 2005 11:40:02 +0200 From: Antonio Pippo <a.pippo@poliba.it> -Agent: Mozilla Thunderbird 1.0.2-1.3.2 (X11/20050324) X-Accept-Language: en-us, en MIME-Version: 1.0 To: a.pippo@poliba.it Subject: prova Content-Type: text/plain; charset=iso-8859-1; format=flowed Content-Transfer-Encoding: 7bit. fine messaggio CRLF.CRLF 250 <425E31F5001C5BCE> Mail accepted QUIT fine sessione SMTP 9 10 Prova SMTP con Telnet Esempio di sessione SMTP #3 e possibile provare ad effettuare una sessione SMTP tramite lo strumento telnet telnet name 25 attendere 220 reply from scrivere i comandi HELO, MAIL FROM, RCPT TO, DATA, QUIT in questa maniera si possono inviare i messaggi senza usare un client di posta elettronica No. Time Source Destination Protocol Info 24 4.457803 193.204.59.21 62.211.72.21 TCP 32791 > smtp(25) [SYN] 25 4.490016 62.211.72.21 193.204.59.21 TCP smtp(25) > 32791 [SYN, ACK] 26 4.490115 193.204.59.21 62.211.72.21 TCP 32791 > smtp(25) [ACK] 27 4.520047 62.211.72.21 193.204.59.21 SMTP smtp(25) > 32791 Response: 220 vsmtp1alice.tin.it ESMTP Service (7.0.027) ready 28 4.520125 193.204.59.21 62.211.72.21 TCP 32791 > smtp [ACK] Seq=1 Ack=55 29 4.542552 193.204.59.21 62.211.72.21 SMTP 32791 > smtp Command: HELO [193.204.59.21] 11 12
Esempio di sessione SMTP #4 Multipurpose Internet Mail Extensions (MIME)...... 219 32.733377 193.204.59.21 62.211.72.21 SMTP 32791 > smtp QUIT 220 32.749257 62.211.72.21 193.204.59.21 SMTP smtp > 32791 Response: 221 vsmtp1alice.tin.it QUIT 221 32.749322 62.211.72.21 193.204.59.21 TCP smtp > 32791 [FIN, ACK] Estensioni utili per trasferire contenuti differenti dal testo ASCII (immagini, audio, video, etc.) Sono basate su header aggiuntivi che caratterizzano i contenuti del messaggio. 222 32.788971 193.204.59.21 62.211.72.21 TCP 32791 > smtp [ACK] 225 32.893038 193.204.59.21 62.211.72.21 TCP 32791 > smtp [FIN, ACK] 226 32.904869 62.211.72.21 193.204.59.21 TCP smtp > 32791 [ACK] 13 14 Headers MIME Protocollo POP3 Mime-Version: versione dello standard Content-Type: tipo di contenuto text/plain : testo puro text/html : testo html (formattazione avanzata) image/jpeg : immagine jpeg video/mpeg: video mpeg Content-Transfer-Encoding: tipo di codifica idonea al contenuto del messaggio struttura client/ del protocollo e modello di interazione request/response molto elementare (RFC 1939) è richiesta una procedura di autenticazione tra client e allo scopo di identificare univocamente una mailbox basata su accounting utente mediante inserimento di name e password protocollo di tipo testuale commandbased con comandi aventi sinossi del tipo nomecomando [parametri] Agent POP3/IMAP session Mail Server risposta di tipo testuale priva di codici di stato numerici di riferimento 15 16
POP3: comandi principali Esempio di sessione POP3 #1 USER < name> Identifica l utente PASS <password> Fornisce la password STAT Mostra lo stato della mailbox (numero dei messaggi). Avvia una transazione LIST Lista dei messaggi (ordinale di ciascun messaggio e spazio occupato) RETR n Recupera il messaggio n dal DELE n Marca il messaggio n da cancellare. (Verrà cancellato nella fase di update) TOP nmsg nlinee Mostra solo nlinee del messaggio nmsg QUIT Cancella i messaggi marcati da cancellare e chiude la connessione. +OK dovecot ready. USER apippo +OK PASS pippo +OK Logged in. fine autenticazione STAT +OK 6 25642 6 messaggi non letti su un totale di 25642 LIST +OK 6 messages: lista dei messaggi non letti 1 4935 messaggio 1 di 4935 bytes 2 1218 3 1218 17 18 Esempio di sessione POP3 #2 Esempio di sessione POP3 #2 19 4 3080 5 4512 6 10679. RETR 1 download del messaggio 1 +OK 4935 octets Return-Path: <protege-owl-bounce@crg-gw.stanford.edu> Received: from smtp2.stanford.edu (smtp2.stanford.edu [171.67.16.125]).by mail.poliba.it (8.13.1/8.13.1) with ESMTP id j449y5hc010280;.wed, 4 May 2005 11:34:08 +0200. QUIT fine sessione +OK Logging out. 20 Return-Path: <ununz@alice.it> Delivered-To: info@primeeng.it Received: (qmail 24860 invoked by uid 89); 10 Jun 2010 13:23:41-0000 Received: by simscan 1.2.0 ppid: 24828, pid: 24857, t: 0.0185s scanners:none Received: from unknown (HELO smtp-out19.alice.it) (85.33.2.19) by mxavas12.ad.aruba.it with SMTP; 10 Jun 2010 13:23:41-0000 Received: from FBCMMO03.fbc.local ([192.168.68.197]) by smtp-out19.alice.it with Microsoft SMTPSVC(6.0.3790.3959); Thu, 10 Jun 2010 15:23:44 +0200 Received: from FBCMST14V05.fbc.local ([192.168.178.29]) by FBCMMO03.fbc.local with Microsoft SMTPSVC(6.0.3790.3959); Thu, 10 Jun 2010 15:23:44 +0200 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_nextpart_001_01cb08a0.26353f10" X-MimeOLE: Produced By Microsoft Exchange V6.5 X-Originating-IP: 79.26.79.214 Content-class: urn:content-classes:message Subject: Esercizio n.10 Date: Thu, 10 Jun 2010 15:23:12 +0200 Message-ID: <37E2DD9C64D4FB408947B7F4A2C40138F9947B@FBCMST14V05.fbc.local> X-MS-Has-Attach: yes X-MS-TNEF-Correlator: Thread-Topic: Esercizio n.10 Thread-Index: AcsIoBH4ItSRR0DGRiqzAomzJADO6A== From: <ununz@alice.it> To: <info@primeeng.it> Return-Path: ununz@alice.it X-OriginalArrivalTime: 10 Jun 2010 13:23:44.0375 (UTC) FILETIME=[267DA870:01CB08A0] X-Spam-Rating: mxavas12.ad.aruba.it 1.6.2 0/1000/N
Esempio di sessione POP3 #3 Esempio di sessione POP3 #4 No. Time Source Destination Prot Info 4458 6.968872 193.204.59.21 193.204.49.50 TCP 32796 > pop3(110) [SYN] Seq=0 Ack=0 4464 6.974523 193.204.49.50 193.204.59.21 TCP pop3 > 32796 [SYN, ACK] Seq=0 Ack=1 4465 6.974601 193.204.59.21 193.204.49.50 TCP 32796 > pop3 [ACK] Seq=1 Ack=1 4469 6.976746 193.204.49.50 193.204.59.21 POP pop3 > 32796 Response: +OK dovecot ready. 4470 6.976813 193.204.59.21 193.204.49.50 TCP 32796 > pop3 [ACK] Seq=1 Ack=21 4479 6.990839 193.204.59.21 193.204.49.50 POP 32796 > pop3 Request: USER apippo 4482 6.994185 193.204.49.50 193.204.59.21 POP pop3 > 32796 Response: +OK 4515 7.038836 193.204.59.21 193.204.49.50 POP 32796 > pop3 Request: RETR 1 4517 7.043860 193.204.49.50 193.204.59.21 POP pop3 > 32796 Response: +OK 4935 octets Return-Path: <protege-owl-bounce@crg-gw.stanford.edu>\r\n Received: from smtp2.stanford.edu (smtp2.stanford.edu [171.67.16.125])\r\n \tby mail.poliba.it (8.13.1/8.13.1) with ESMTP id j449y5hc010280;\r\n 21 22 Esempio di sessione POP3 #5 Internet Message Access Protocol (IMAP) No. Time Source Destination Prot Info 4664 7.262057 193.204.59.21 193.204.49.50 POP 32796 > pop3 Request: QUIT 4665 7.264080 193.204.49.50 193.204.59.21 POP pop3 > 32796 Response: +OK Logging out. 4666 7.265700 193.204.49.50 193.204.59.21 TCP pop3 > 32796 [FIN, ACK] 4667 7.265720 193.204.59.21 193.204.49.50 TCP 32796 > pop3 [ACK] 4674 7.274250 193.204.59.21 193.204.49.50 TCP 32796 > pop3 [FIN, ACK] 4675 7.275973 193.204.49.50 193.204.59.21 TCP pop3 > 32796 [ACK] E un protocollo per accedere a messaggi di mail su un remoto (RFC 1730), molto piu complesso del POP3 A differenza del POP3, è pensato per la manipolazione delle mailboxes online, senza bisogno di scaricare in locale i messaggi Consente l accesso ad una stessa mailbox da più PC contemporaneamente (in maniera sincronizzata ) Consente di: Creare, eliminare e rinominare mailbox Controllare l arrivo di nuovi messaggi Rimuovere messaggi Effettuare ricerche all interno dei messaggi 23 24
Confronto tra POP3 e IMAP Riepilogo della lezione POP3 un utente non puo rileggere una email se cambia (client o PC) esiste il problema del Download-and-keep : copie di messaggi su differenti client POP3 è stateless fra le differenti sessioni IMAP tutti i messaggi vengono mantenuti in un solo posto: il permette all utente di organizzare i messaggi in cartelle direttamente sul IMAP mantiene traccia dello stato dell utente fra le diverse sessioni Protocollo SMTP Protocollo POP3 Protocollo IMAP Posta Elettronica 25 26 Fine della lezione Domande? 27