Modulo 17

Internet Server

e-mail

La posta elettronica è nata dal paradigma dei "bigliettini pro-memoria" e quindi come documento esclusivamente di testo completo della indicazione del mittente e il destinatario. Affinchè sia possibile ricevere una mail è necessario che in precedenza sia stata definita la mailbox che consiste generalmente in uno spazio privato dedicato all'utente associato.

Un indirizzo di e-mail consiste di due parti separate dal carattere @. La prima parte indica la mailbox e la seconda il computer su cui essa risiede.

Il messaggio è rigorosamente testo ASCII ed è diviso in due parti separate da una riga vuota. Nella prima parte ci sono informazioni (header) riguardanti il messaggio stesso e nella seconda parte è contenuto il messaggio vero e proprio.

Per superare la limitazione di usare solo testo è stata aggiunta la capacità di inviare qualsiasi contenuto anche binario attraverso un'estensione chiamata MIME (Multipurpose Internet Mail Extension). In pratica MIME non specifica un ben determinato sistema di codifica e decodifica ma permette che il mittente e il destinatario si accordino. Un messaggio MIME include quindi informazioni addizionali che il destinatario usa per decodificare il messaggio.

Quando un utente compone un messaggio, questo viene dapprima accodato in una coda di servizio del computer da cui l'utente stà operando. In seguito il messaggio viene prelevato dalla coda di servizio e inviato al computer che gestisce la mailbox destinazione. Infine dal computer destinazione viene spostato alla mailbox destinazione pronto per essere letto. Questi tre passi vengono eseguiti da tre attori ben precisi:

Affinchè un MTA sia visibile in Internet come server SMTP di un dominio occorre che il server DNS autoritativo per quel dominio abbia un record di tipo MX che indichi appunto l'host su cui gira l'MTA. Nel caso in cui sia presente un secondo server MTA di backup per il caso in cui il primario sia guasto, occorre aggiungere nel server DNS un secondo record di tipo MX. Per vedere quali domini hanno server SMTP di backup basta interrogare i server DNS con l'utility dig che ad esempio per il dominio rai.it visualizza:

$ dig -t mx rai.it +nostats +nocmd +noquestion

;; ANSWER SECTION:
rai.it.                 21552   IN      MX      20 relay2.rai.it.
rai.it.                 21552   IN      MX      30 relay.rai.it.

;; AUTHORITY SECTION:
rai.it.                 372015  IN      NS      ns2.rai.it.
rai.it.                 372015  IN      NS      dns2.nic.it.
rai.it.                 372015  IN      NS      ns.rai.it.
rai.it.                 372015  IN      NS      ns.iunet.it.

;; ADDITIONAL SECTION:
relay2.rai.it.          21552   IN      A       212.162.66.33
relay.rai.it.           21552   IN      A       212.162.66.32
ns.rai.it.              26661   IN      A       212.162.66.62
ns.iunet.it.            100871  IN      A       192.106.1.1
ns2.rai.it.             9055    IN      A       212.162.66.63
dns2.nic.it.            20584   IN      A       193.205.245.8


Postfix

Postfix si stà affermando come il sostituto di Sendmail grazie alla sua facile configurazione. Nel sito www.postfix.org c'è molta documentazione e molto ben fatta. Per quanto riguarda la configurazione dalla home page possiamo trovare un collegamento a un documento che illustra con degli esempi le varie configurazioni standard. Non abbiamo intenzione di ripetere quello che già è descritto e quindi ricapitoliamo solo per rinforzare il ricordo.

La directory che contiene i file di configurazione è /etc/postfix. Il file di configurazione più importante è /etc/postfix/main.cf.


# Configurazione "Local Network"
# /etc/postfix/main.cf
myorigin = $mydomain
mynetworks = 127.0.0.0/8  10.0.0.0/24
relay_domains =

# Configurazione "null client"
# /etc/postfix/main.cf
myorigin = $mydomain
relayhost = $mydomain
inet_interfaces = 127.0.0.1
local_transport = error:local delivery is disabled

Sendmail

Sendmail è uno dei più noti MTA tra i quali citiamo qmail e postfix che non avremo però il tempo di descrivere.

Le modalità di installazione possono essere numerosissime e se vogliamo ragrupparle in due categorie otteniamo:

La seconda soluzione è quella che andremo a descrivere e che consigliamo caldamente soprattutto per problemi di gestione e manutenzione. La documentazione in lingua inglese fornita nell'installazione la puoi trovare nella directory /usr/share/doc/sendmail-doc/.

La directory che contiene i file di configurazione è /etc/mail. Il file di configurazione è sendmail.mc ma il file che viene realmente usato dal programma è sendmail.cf che possiamo quindi pensare come ad un programma compilato pronto per essere eseguito mentre il file sendmail.mc come al programma in forma sorgente. Questa archittettura è dovuta al fatto che quando nacque sendmail i computer erano molto limitati ed era vantaggioso precompilare. Il parser m4 prende come input il file sendmail.mc e produce in output il file sendmail.cf.

Nel caso in cui non si abbiano necessità particolari è possibile usare la configurazione Debian che si ottiene accettando (rispondendo con ENTER) tutte le opzioni di default della fase di configurazione. Nel caso si voglia cambiare qualcosa, si edita il file sendmail.mc e poi si lancia make.

Vediamo ora singolarmente i più importanti file dati usati nel file sendmail.mc:

Creative Commons License FREE THE MOUSE Valid HTML! Sandro Doro (email me)
Ultima modifica: $Date: 2007-01-15 08:30:00 $