La posta elettronica - Dipartimento di Informaticadipierro/Didattica/TdB06/lezione-8.pdf ·...
Transcript of La posta elettronica - Dipartimento di Informaticadipierro/Didattica/TdB06/lezione-8.pdf ·...
02/03/06 2
Internet: tipologia dei servizi
Possiamo classificare i servizi offerti da Internet ai suoi utenti "normali" in base al fatto che un servizio sia sincrono o asincrono
Un servizio è sincrono se richiede l'interattività simultanea tra i processi distribuiti su host della rete
è basato sulla nozione di sessione
Un servizio è asincrono se non richiede interattività simultanea tra i processi coinvolti
02/03/06 3
Esempi
Servizi asincroni sincroni
tracciamento finger ping
comunicazione e-mail chat
navigazione ftp, WWW Napster
B2C e-commerce
02/03/06 4
Comunicare in rete: E-mail
Un sistema di posta elettronica (e-mail) permette comunicazione asincrona uno-a-uno o uno-a-molti (mediante mailing list)
Per poter comunicare per posta elettronica su Internet occorre avere un indirizzo di posta elettronica
Un indirizzo di posta elettronica di solito ha la formanome@indirizzo-dominio-di-internet
Esempio: [email protected]
02/03/06 5
Indirizzi e-mail
Il fornitore della connettività TCP/IP (Internet Service Provider) fornisce anche un indirizzo di email
Si usa un indirizzo offerto da un altro fornitore (es. hotmail.com)
Chi fornisce indirizzi di e-mail deve affrontare tre aspetti: banda di comunicazione verso Internet e verso gli utenti
tempo di calcolo dei processi serventi le mailboxspazio su disco per memorizzare i messaggi
02/03/06 6
E-mail: una piccola storia
Il primo sistema di posta elettronica si basava sul solo trasferimento di file (FTP)
la prima linea di ogni msg conteneva l'indirizzo del destinatario
02/03/06 7
Problemi
Inviare un messaggio ad un gruppo di persone era scomodo.
I messaggi non avevano una struttura interna, rendendo difficile l'elaborazione automatica.
Il mittente non sapeva mai se un messaggio era arrivato.
L'interfaccia utente era integrata in maniera primitiva con il sistema di trasmissione, richiedendo agli utenti dapprima di editare un file, quindi di lasciare l'editor per poi invocare il programma di trasmissione.
02/03/06 8
Altri problemi
Non era possibile creare ed inviare messaggi che contenessero contemporaneamente testo, grafica e suono
Nel 1982 furono pubblicate le proposte RFC 821 (protocollo di trasmissione) e RFC 822 (formato dei messaggi).
Da allora queste sono lo standard Internet de facto
02/03/06 9
E-mail: Componenti
Per usare il servizio di posta elettronica di Internet occorre: 1. User agent per leggere o scrivere i messaggi 2. Server per trasmettere messaggi
3. Server per leggere la propria mailbox
02/03/06 10
SMTP
SMTP (Simple Mail Transfer Protocol) è il protocollo di Internet per instradare la posta elettronica; anche i server SMTP sono di solito protetti da password, ma non sempre
Protocolli per la lettura dei messaggi dalle mailbox: POP3 e IMAP
02/03/06 11
Electronic Mail
Tre componenti: 1. user agent 2. mail server 3. simple mail transfer protocol:
smtp
User AgentFunzionalità: per leggere, editare ed inviare mailEudora, Outlook, mutt, Netscape MessengerMessaggi sono memorizzati nel server
user mailbox
outgoing message queue
mailserver
useragent
useragent
useragent
mailserver
useragent
useragent
mailserver
useragent
SMTP
SMTP
SMTP
02/03/06 12
E-Mail: mail server
Mail Server mailbox contiene i msg non ancora letti degli utentimessage coda dei msg da inviareSmtp: protocollo di comunicazione tra i mail server
mailserver
useragent
useragent
useragent
mailserver
useragent
useragent
mailserver
useragent
SMTP
SMTP
SMTP
user mailbox
outgoing message queue
02/03/06 13
E-Mail: smtp [RFC 821]
Basato su tcp per avere un trasferimento affidabile delle mail, la porta 25 è la porta di defaultTrasferimento diretto tra i server coinvolti effettuato in tre passi denominati:
handshaking (greeting)
transfer
closureModalità di interazione: command/response
command: testo in formato ASCIIresponse: status code e testo
Messaggi sono codificati in 7-bit ASCII
02/03/06 14
Scenario: Alice e Bob
1) Alice vuole inviare una e-mail a [email protected]
2) Messsaggio è inserito nella coda del mail server
3) SMTP (lato cliente) apre una connessione TCP con il mail server di Bob
4) SMTP (lato cliente) trasmette il messaggio di Alice sulla connessione TCP
5) Il mailserver di Bob memorizza il messaggio nella mailbox di Bob
6) Bob legge il messaggio tramite il suo user agent
useragent
mailserver
mailserver user
agent
1
2 3 4 56
02/03/06 15
Esempio di interazione smtp S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... 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
02/03/06 16
Piccola esercitazione
telnet server_di_posta 25220 reply from serverDigitare i comandi HELO, MAIL FROM, RCPT TO, DATA, QUIT
02/03/06 17
smtp
smtp utilizza connessioni persistentiSmtp: formato dei messaggi (header & body) in 7-bit asciiCaratteri non permessi (e.g., CRLF.CRLF). Codifica dei messaggi (in base-64 o quoted printable)smtp server: utilizza CRLF.CRLF per indicare la fine del msg
Smtp vs http
http: pullemail: push
Interazione ASCII di tipo command/response + status codes
http: ogni oggetto è incapsulato nella rispostasmtp: multipart message con oggetti multipli (eg attachment)
02/03/06 18
Mail: formato dei messaggi
smtp: RFC 822:header lines
To:From:Subject:
Non sono i comandi smtp!
bodySolo formato ASCII
header
body
blankline
02/03/06 19
Formato
To: Indirizzo per destinatario primario
Cc: Indirizzo per destinatario secondario
Bcc: Indirizzo "invisibile" agli altri ("blind cc")
From: Persona che ha creato il msg
Sender:Indirizzo elettronico del vero mittente
Received: Ogni entità sul routing si identifica
Return-Path: Individua un routing verso il mittente
Date: Data e ora in cui il msg è stato inviato
Reply-To: Indirizzo al quale inviare le risposte
Message-Id: Identificativo del messaggio
In-Reply-To: Message-Id del msg cui si sta rispondendo
References: Altri Message-Id importanti
Keywords: Parole chiave scelte dall'utente
Subject: Sommario del msg (su una sola linea)
02/03/06 20
MIME: multimedia extensions
MIME: multimedia mail extension, RFC 2045, 2056Campi addizionali presenti per la dichiarazione dei MIME content type
From: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg
base64 encoded data ..... ......................... ......base64 encoded data
Dati multimedialitype, subtype,
parameter
Metodo di codifica
MIME version
Dati codificati
02/03/06 21
MIME typesContent-Type: type/subtype; parameters
Textsubtypes: plain, html
Imagesubtypes: jpeg, gif
Audiosubtypes: basic (8-bit coding), 32kadpcm (32 kbps coding)
Videosubtypes: mpeg, quicktime
ApplicationsInvocate per rendere “ viewable” questi tipisubtypes: msword, octet-stream
02/03/06 22
Multipart Type MessageFrom: [email protected] To: [email protected] Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 --98766789Content-Transfer-Encoding: quoted-printableContent-Type: text/plain
Dear Bob, Please find a picture of a crepe.--98766789Content-Transfer-Encoding: base64Content-Type: image/jpeg
base64 encoded data ..... ......................... ......base64 encoded data --98766789--
02/03/06 23
E-Mail: protocolli di accesso
Mail access protocol:
POP: Post Office Protocol [RFC 1939]
authorization (agent <-->server) and download
IMAP: Internet Mail Access Protocol [RFC 1730]
Maggiori funzionalità
Manipolazione dei msgs memorizzati nel server
HTTP: Hotmail , Yahoo! Mail, etc.
useragent
mail server
useragent
SMTP SMTP POP3 orIMAP orHTTP
mail server
02/03/06 24
POP3
authorization phaseclient:
user: username
pass: passwordServer:
+OK-ERR
transaction phase, client:
list: list (message numbers)
retr: retrieve message
dele: delete
quit
C: list S: 1 498 S: 2 912 S: . C: retr 1 S: <message 1 contents> S: . C: dele 1 C: retr 2 S: <message 1 contents> S: . C: dele 2 C: quit S: +OK POP3 server signing off
S: +OK POP3 server ready C: user alice S: +OK C: pass hungry S: +OK user successfully logged on
02/03/06 25
IMAP
Un protocollo più sofisticato di POP è IMAP (Interactive Mail Access Protocol - RFC 1064), che è utile per chi vuole gestire la posta da computer diversi (esempi: famiglia, o utente "ubiquo")
In questo caso il mail server conserva un deposito centrale accessibile da qualsiasi macchina cliente.
A differenza di POP3, IMAP non copia la posta sulla macchina personale dell'utente perché questi può usarne parecchie: la gestione è quindi on-line (più costosa)
02/03/06 26
Esempio d'uso
Client POP3(es. Outlook a casa)
Server POP3(lato provider)
Client IMAP4(es. Outlook a casa)
Server IMAP4(lato provider)
SMTP
POP3 IMAP4
02/03/06 27
POP3 vs IMAP
POP3Standard: modalità “ download and delete” .L’ utente non puo’ leggere nuovamente i msg se cambia il mail readerModalità “ Download-and-keep” : copie dei msg su clienti diversiPOP3 è un protocollo stateless
IMAPI msg sono sempre sul serverUtente puo’ organizzare i msg in folderIMAP è un protocollo con stato (eg., nomi dei folder, filtri)
02/03/06 28
E-mail: gestione
Uno strumento prezioso per molti utenti è la capacità di impostare dei filtri. Un filtro è un insieme di regole che vengono verificate dal cliente quando arriva un messaggio
Una regola (per TDB) potrebbe dire per esempio che qualsiasi msg proveniente da [email protected] va salvato in un file particolare (...oppure va eliminato automaticamente!)
Esempio: if from contains [email protected] then save mail/corsi/TBD
02/03/06 29
E-mail: gestione
Un filtro è un esempio di funzionalità lato client. In alcuni casi è possibile attivare funzionalità lato server (cioè on line)
Una funzione utile di questo tipo è il forwarding, cioè la capacità di reistradare la posta in arrivo ad un indirizzo differente.
Un'altra funzione lato server è il demone di vacanza, che in assenza del destinatario risponde a tutti i msg con un msg predefinito
02/03/06 30
Mailing List
Una mailing list è un servizio di comunicazione uno-a-molti che si basa sulla e-mail
A.Word.A.Day (www.wordsmith.org/awad) è una mailing list (~550.000 persone in più di 200 nazioni) che spedisce un msg al giorno. Il msg spiega la definizione e l'uso di una parola inglese
Le mailing list possono essere gestite: manualmente, da un moderatore che mantiene una lista di indirizzi di posta elettronica (di solito lato client) automaticamente, da un servizio (di solito listserv o majordomo) che accetta iscrizioni via e-mail
02/03/06 31
Gestire la propria e-mail
Usare i nickname e gli alias
Usare i file di firma automatica (signature)
Evitare di far crescere troppo il file di mailbox
Usare le ricerche per header e per contenuto
Non usare lo stesso Subject per tutti i msg
Attenzione ai filtri automatici
Imparare a gestire la posta off line
02/03/06 32
Netiquette
T.Mandel and G.Van der Leun, Rules for the Net, 1996 (Trad It, Galateo Per Internet, Bompiani 1998)
Le regole di netiquette per email sono formalizzate in: RFC 1855 Netiquette guidelines RFC 2635 Set of guidelines for mass unsolicited mailings
Rispettivamente disponibili in http://www.ietf.org/rfc/rfc1855.txthttp://www.ietf.org/rfc/rfc2635.txt
02/03/06 33
Netiquette
Quando si accede Internet da un ufficio, verificare con il datore di lavoro la questione della proprietà dei messaggi, perché le leggi al riguardo variano da luogo a luogo
A meno che non si usi un filtro di criptazione, conviene assumere che la posta su Internet non è mai sicura
Rispettare il copyright sui materiali riprodotti (anche se ogni paese ha una propria legislazione sul copyright)
02/03/06 34
Netiquette
In caso di inoltro di un messaggio ricevuto, non modificarne il testo. Se si tratta di un messaggio personale e lo si vuole re-inviare ad un gruppo, occorre chiedere preventiva autorizzazione all'autore originale del messaggio
Non inviare mai per e-mail lettere a catena di Sant'Antonio. Si sia rigorosi in quel che si spedisce e tolleranti in quel che si riceve. Non inviare messaggi aggressivi (flames) anche se provocati. Può capitare di diventare vittime di qualche flame, e in tal caso è prudente non rispondere
02/03/06 35
Netiquette
È bene rendere le cose facili per chi riceve. Siccome molto spesso non e' possibile risalire dall'indirizzo di posta del mittente all'identità del mittente (gli indirizzi e i nickname possono essere molto fantasiosi), assicurarsi di includere nella "signature" a fine messaggio i dati rilevanti: non mandare messaggi anonimi
02/03/06 36
Spamming
La email "spam", o comunque lo spamming, è un caso classico di abuso di Internet
Consiste nel mandare parecchi (migliaia o milioni) di messaggi non richiesti a liste di indirizzi acquisite direttamente da Internet mediante spambot, ovvero robot capaci di trovare indirizzi nelle pagine Web
02/03/06 37
Spamming
Come difendersi dallo spamming: cancellando manualmente i msg dalla propria mailbox reclamando col postmaster del dominio da cui proviene lo spamming; se non si conosce l'indirizzo del PostMaster di un dominio, mandare un msg a [email protected]: il reclamo verrà inoltrato automaticamente al postmaster del dominio attivando filtri nel vostro cliente di email che cancellano automaticamente i msg di spamming
chiedendo a chi gestisce il vostro server di email di attivare filtri a livello server proteggendo il proprio indirizzo, per esempio pubblicandolo su Web solo usando precauzioni contro gli spambot
visitando il sito della Coalition Against Unsolicited Commercial Email (CAUCE, www.cauce.org)
02/03/06 38
Emoticon
Chi usa la posta elettronica o comunque la comunicazione in rete di solito sviluppa uno stile di scrittura specifico, veloce e informale quanto il mezzo che usa; tuttavia, non bisogna mai dimenticare che un testo scritto non è una comunicazione orale (scripta manent)
Uno dei problemi più difficili da risolvere per lo scrittore di email è la gestione della ridondanza comunicativa. Per comunicare emozioni e stati d'animo, ad esempio, la parola scritta è uno strumento difficile e verboso; all'uopo sono state sviluppate una serie di convenzioni che sfruttano l'iconografia dei caratteri su schermo
02/03/06 39
Emoticon
Un emoticon, o smiley, è un'icona di espressione facciale ottenuta con sequenze di caratteri
Vedere www.emoticon.com
:-X Lips are sealed #-) Oh, what a night :-y Said with a smile :-| Frowning ;-) Winky |-o Bored
:,( Crying :-( Sad :-) Happy :-0 Yelling :-@ Screaming :-X A kiss
02/03/06 40
TLA's (Three Letter Acronyms)
BTW By the wayIMHO In my humble opinionIMO In my opinionIOHO In our humble opinionLOL Laughing out loadROFL Roling on the floor, laughing
02/03/06 41
Comunicare in rete
Un sistema di chat è un servizio di comunicazione sincrona punto-a-punto (peer-to-peer): talk
broadcast (client-server): IRC
02/03/06 42
Talk
Un programma di talk (Unix: talk; Windows: Wintalk) permette di aprire una sessione con un utente remoto per effettuare una conversazione in forma testuale; entrambi i corrispondenti devono possedere un cliente specifico, che funziona in modalità peer-to-peer
Nota: alcune società offrono servizi di talk capaci di usare come cliente una normale cornetta telefonica; in pratica ciò vuol dire che si può usare Internet per telefonare
02/03/06 43
IRC
IRC (Internet Relay Chat www.irchelp.org) è un protocollo client-server che permette il dialogo di più persone mediante msg testuali
Per usare il servizio occorrono clienti IRC che si connettono a server specifici. Quando ci si connette ad un IRC server si sceglie un canale di discussione: per es., su www.efnet.net ce ne sono più di 12000!
Le conversazioni possono essere pubbliche o private. IRC non è un gioco!
02/03/06 44
Instant MessagingUn servizio di Instant Messaging (Esempi: AOL Instant Messager www.aim.com, ICQ web.icq.com, MSN Messenger messenger.msn.com) permette di informare "la rete" che ci si è connessi, e disponibili a conversazioni
Il servizio si basa su un server che registra una persona che si connette; ad ogni utente è assegnato un numero personale univoco che lo identifica in rete
È possibile istruire il server su chi sono i nostri corrispondenti abituali, in modo che ci informi non appena si collegano
ICQ (http://web.icq.com) è probabilmente il servizio di messaging più popolare: a marzo 2004 ha circa 150.000.000 di iscritti