La nascita della posta elettronica (email) risale al 1960. Il mailbox era un file nella homedirectory dell'utente ed era leggibile solo da quell'utente. Le prime applicazioni per 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 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.
Oggi, la 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.
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) .
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 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 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 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.
Red Hat Linux usa Sendmail (/usr/sbin/sendmail) come programma SMTP di default. Tuttavia, una applicazione piú semplice di server posta chiamata Postfix (/usr/sbin/postfix), é anche disponibile.
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.
Il server POP di default con Red Hat Linux é /usr/sbin/ipop3d ed é fornito dal pacchetto imap. Quando si usa un server POP, i messagi email sono scaricati dalle applicazioni client email. Per default, la maggior parte dei client POP di e-mail è configurata per l'eliminazione automatica del messaggio sul mail server dopo che questo è stato trasferito con successo sul sistema del client, anche se questo solitamente viene modificato.
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 sull'autenticazione Kerberos, consultate il Capitolo 17.
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.
Il server IMAP di default con Red Hat Linux é /usr/sbin/imapd ed é fornito dal pacchetto imap. Quando si utilizza l'IMAP i messaggi di posta elettronica rimangono nell'e-mail server remoto, dove l'utente può leggerli o cancellarli, e creare, rinominare o eliminare caselle di posta per archiviare le e-mail.
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.