La posta elettronica è un servizio oggi largamente utilizzato online insieme al web. Esattamente come la sua controparte ordinaria (posta cartacea) essa consente lo scambio di missive praticamente in qualunque parte del pianeta. A differenza della posta ordinaria, soggetta alle limitazioni imposte dalle distanze e dai tempi dovuti allo smistamento, ai controlli di sicurezza, etc, la posta elettronica viaggia in modo praticamente istantaneo. Questa caratteristica, unita alla crescente diffusione dei personal computer, ne ha favorito una rapida ascesa, al punto da divenire oggi un servizio indispensabile.
Storia
Le prime versioni di questo servizio risalgono addirittura ai tempi di ARPANET, per la precisione al 1971, quando un programmatore americano di nome Ray Tomlinson scrisse il primo programma per inviare messaggi di posta ad altri computer connessi in rete. Tomlinson aveva già sviluppato un programma in grado di trasferire file attraverso la rete, CPYNET, per il sistema operativo TENEX, di proprietà dell'azienda BNN. La BNN chiese a Tomlinson di portare su TENEX il programma SNDMSG, che permetteva agli utenti di uno stesso sistema di scambiare messaggi. Grazie all'esperienza acquisita con CPYNET, Tomlinson decise di integrare in SNDMSG il codice di rete già scritto per CPYNET, permettendo così agli utenti di sistemi diversi di scambiare messaggi attraverso la rete. Con un sistema del genere, il solo nome del destinatario non era più sufficiente per inviare un messaggio. Bisognava anche indicare il nome del sistema a cui quell'utente apparteneva. Fu così che Tomlison ideò il formato degli indirizzi e-mail oggi usato da tutti: scelse il simbolo @ (at) per separare il nome utente dal nome del server. La parte a sinistra del simbolo @ era il nome dell'utente destinatario, quella a destra il nome del server. In seguito, il programma mail, distribuito con la prima versione del sistema operativo Unix, adottò lo stesso formato, rendendolo così uno standard de facto.
Architettura
L'architettura del sistema di posta elettronica è in realtà piuttosto complessa. Si tratta di un tipico schema client - server, in cui i client (detti MUA, ovvero Mail User Agent) vengono utilizzati dagli utenti per accedere alle proprie caselle di posta ed inviare i messaggi, mentre i server svolgono le funzioni di gestori delle caselle (MS, Message Store) e di inoltro dei messaggi (MTA, Mail Transfer Agent).
Essi operano secondo dei protocolli standard che stabiliscono le regole con cui effettuare le fasi di invio, smistamento, inoltro e ricezione di un messaggio. Tra questi, citiamo i più diffusi SMTP (Simple Mail Transfer Protocol) usato per l'inoltro dei messaggi ed IMAP (Internet Message Access Protocol) usato per l'accesso alla propria casella di posta.
In analogia con quanto avviene con la posta ordinaria, gli MTA svolgono lo stesso ruolo degli uffici postali, mentre i MUA sono l'analogo degli utenti che spediscono e ricevono le missive.
Spesso i ruoli di MTA ed MS sono implementati in pacchetti software separati. Ad esempio, in ambiente Ubuntu il software MTA predefinito è Postfix, mentre l'MS è Dovecot. Si tratta di software lato server che implementano rispettivamente i protocolli SMTP ed IMAP.
Installazione su Ubuntu Server
L'installazione di Postfix e Dovecot è semplificata anche in questo caso dalla presenza del comando tasksel.
# tasksel
Selezionando il task Mail server e poi Ok, il programma provvederà a scaricare ed installare i pacchetti necessari. Tasksel contiene inoltre delle opzioni per configurare il server Postfix automaticamente, in base alle esigenze dell'amministratore di sistema. Le opzioni possibili sono di seguito elencate.
- No configuration: in questo caso tasksel si limiterà ad installare il software, senza provvedere alla configurazione. Consigliato solo ad utenti esperti.
- Internet Site: scegliere questa opzione per far sì che il server trasmetta e riceva i messaggi di posta direttamente. Scegliendo questa opzione, il server trasmetterà i messaggi di posta in uscita collegandosi direttamente ai server SMTP dei destinatari. Inoltre, i messaggi di posta in entrata verranno scaricati e memorizzati localmente.
- Internet with smarthost: il server riceverà la posta dall'esterno via SMTP, ma si collegherà ad un server SMTP esterno per trasmetterla (lo smarthost, appunto).
- Satellite system: sia la posta in entrata che in uscita sarà ritrasmessa ad un server esterno (smarthost).
- Local only: il server non riceve posta dall'esterno e non è in grado di inoltrare messaggi al di fuori del proprio dominio. Utile solo per comunicazioni interne.
Il caso più comune è quello in cui il server riceve e trasmette i messaggi autonomamente (Internet site). Si consiglia di scegliere questa opzione a meno che non vi siano esigenze particolari (ad esempio, sia obbligatorio utilizzare uno smarthost qualora il provider Internet filtri le connessioni SMTP in uscita).
Tasksel procederà chiedendo di specificare il dominio di posta del server. Ad esempio, se le caselle e-mail degli utenti sono utente1@esempio.com e utente2@esempio.com, il dominio da specificare in questa fase è appunto esempio.com.
Attenzione: questo deve essere un dominio FQDN valido (Fully Qualified Domain Name), i cui record (in particolare quello MX) devono puntare al server in oggetto. Altrimenti esso non potrà essere contattato dagli altri server SMTP, causando la mancata consegna dei messaggi in entrata.
Dopo aver specificato il dominio, tasksel completerà l'installazione, avviando i demoni Postfix e Dovecot e configurando il firewall per aprire le relative porte TCP.
Nelle lezioni successive si affronterà il tema della configurazione di entrambi i server appena installati.