Capitolo 11. E-mail

La nascita della posta elettronica (email) risale al 1960. Il mailbox era un file nella home directory dell'utente ed era leggibile solo da quell'utente. Le prime applicazioni di posta allegavano nuovi messaggi di testo nella parte inferiore del file, e l'utente doveva ricercare all'interno del file, quel particolare messaggio. Questo sistema era solo in grado di inviare messaggi agli utenti sullo stesso sistema.

Il primo vero trasferimento di rete di un messaggio di posta elettronica, èavvenuto nel 1971, quando un ingegnere di computer chiamato Ray Tomlinson inviò un messaggio prova tra due macchine tramite ARPANET — il precursore a Internet. La comunicazione tramite email, diventò presto molto popolare, raggiungendo il 75 per cento del traffico di ARPANET in meno di 2 anni.

Oggi, il sistema basato su email su protocolli di rete standardizzati si sono evoluti in uno dei servizi piú diffusi di Internet. Red Hat Enterprise Linux offre molte applicazioni avanzate per servire ed accedere alle email.

Questo capitolo tratta i protocolli e-mail attualmente più diffusi e alcuni programmi ideati per le operazioni di posta elettronica.

11.1. Protocolli Email

Oggi, l'email viene consegnata usando una architettura client/server. Un messaggio email é creato usando un programma client di posta. Questo programma poi, invia il messaggio a un server. Il server a sua volta inoltra il messaggio al server email del ricevente, dove il messaggio viene fornito al client email del ricevente.

Per abilitare questo processo, vi sono un certo numero di protocolli di rete standard che permettono a macchine diverse, che spesso eseguono sistemi operativi diversi e usano diversi programmi email, di inviare e ricevere email.

I seguenti protocolli sono fra i più comunemente utilizzati per il trasferimento di e-mail da un sistema all'altro.

11.1.1. Protocolli di trasporto posta

La consegna di posta da una applicazione client al server, e da un server originatore al server destinatario, è gestita dal Simple Mail Transfer Protocol (SMTP) .

11.1.1.1. SMTP

Lo scopo primario di SMTP è quello di trasferire le email tra i server di posta. Tuttavia, è una fase critica anche per i client email. Per poter inviare le email, il client invia il messaggio ad un server di posta in uscita, il quale contatta il server di posta destinatario per la consegna. Per questa ragione, è necessario specificare un server SMTP quando si configura un client email.

Con Red Hat Enterprise Linux, un utente può configurare un server SMTP sulla macchina locale per gestire la consegna della posta. Tuttavia, è possibile anche configurare server SMTP remoti per la posta in uscita.

É inoltre importante puntualizzare che il protocollo SMTP non richiede una autenticazione. Questo permette a chiunque su Internet, di inviare email ad chiunque oppure a un gruppo molto grande di persone. É questa caratteristica di SMTP che rende possibile la cosí detta posta indesiderata o spam. I server SMTP moderni cercano di minimizzare questo comportamento, abilitando all'accesso solo host conosciuti. Questi server che non abilitano una tale restrizione vengono chiamati server open relay.

Per default, Sendmail (/usr/sbin/sendmail) è il programma SMTP di default sotto Red Hat Enterprise Linux. Tuttavia è anche disponibile un'applicazione piú semplice di server mail chiamata Postfix (/usr/sbin/postfix).

11.1.2. Mail Access Protocols

Ci sono due protocolli primari usati dalle applicazioni client email per riprendere le email dai server posta: il Post Office Protocol (POP) e il Internet Message Access Protocol (IMAP).

Diversamente da SMTP, entrambi questi protocolli richiedono ai client collegati una autenticazione usando il nome utente e una password. Per default, le password per entrambi i protocolli sono passete attraverso la rete in chiaro.

11.1.2.1. POP

Il server POP di default con Red Hat Enterprise Linux è /usr/sbin/ipop3d ed è fornito dal pacchetto imap. Quando si usa un server POP, i messaggi email sono scaricati dalle applicazioni client email. Per default, la maggior parte dei client POP è configurata per l'eliminazione del messaggio sul server eameil dopo che questo è stato trasferito con successo, tuttavia questa impostazione può essere modificata.

POP é completamente compatibile con importante messaggistica Internet standard, come ad esempio Multipurpose Internet Mail Extensions (MIME), che permette di inserire gli allegati.

Il POP funziona meglio per utenti che hanno un sistema sul quale leggere la email. Lavora bene anche per utenti che non hanno una connessione persistente a Internet oppure una rete contenente il server posta. Sfortunatamente per quelli che hanno una connessione di rete lenta, POP richiede programmi client previa autenticazione, per scaricare l'intero contenuto di ogni messaggio. Questo puó richiedere molto tempo se un messaggio ha un allegato molto grande.

La versione piú recente del protocollo POP standard é POP3.

Ci sono tuttavia una varietá di protocolli POP usati meno frequentemente:

  • APOP — POP3 con autenticazione MDS, in cui il client e-mail invia al server la password criptata e non in chiaro.

  • KPOP — POP3 con autenticazione Kerberos. Per ulteriori informazioni su Kerberos, consultate il Capitolo 18.

  • RPOP — POP3 con autenticazione RPOP, utilizza un'ID per ogni utente, simile a una password, per autenticare le richieste del POP. L'ID non è tuttavia criptato, quindi RPOP non è più sicuro di un POP standard.

Per aumentare la sicurezza, é possibile usare il metodo di cifratura Secure Socket Layer (SSL) per autenticazione del client e per le sessioni di trasferimento dati. Questo può essere abilitato usando il servizio ipop3s, oppure usando il programma /usr/sbin/stunnel. Consultare la Sezione 11.5.1 per maggiori informazioni.

11.1.2.2. IMAP

Il server IMAP di default con Red Hat Enterprise Linux è /usr/sbin/imapd e viene fornito dal pacchetto imap. Quando si utilizza un server mail IMAP, i messaggi di posta elettronica rimangono sul server, dove l'utente può leggerli o cancellarli, e creare, rinominare o eliminare le directory mail presenti sul server, in modo da organizzare e conservare le email.

L'IMAP è utilizzato principalmente da utenti che possono accedere alle e-mail mediante più computer. Gli utenti connessi a Internet o a una rete privata mediante connessione a banda bassa utilizzano spesso questo protocollo, poiché inizialmente visualizza le informazioni di testa del messaggio. Allo stesso modo, l'utente può cancellare i messaggi e-mail indesiderati senza visualizzare il corpo del messaggio, evitando addirittura di scaricarlo durante la connessione.

Per convenienza, le applicazioni client IMAP sono capaci di ottenere delle copie di messaggi in modo locale, in modo tale da permettere all'utente di controllare i messaggi letti precedentemente, anche non essendo collegato direttamente al server IMAP.

IMAP, come POP, é compatibile con importanti messaggi standard, come ad esempio MIME, il quale permette la creazione di allegati.

Per aumentare la sicurezza, é possibile usare il metodo di cifratura Secure Socket Layer (SSL) per autenticazione del client e per le sessioni di trasferimento dati. Questo puó essere abilitato usando il servizio imaps, oppure usando il programma /usr/sbin/stunnel. Consultare la Sezione 11.5.1 per maggiori informazioni.

Altri client e server IMAP sono disponibili sia gratis che a pagamento, molti dedi quali estendono il protocollo IMAP e forniscono delle funzioni aggiuntive. Un elenco completo puó essere trovato su http://www.imap.org/products/longlist.htm.