Gestione servizi di Posta



next up previous
Next: Altri Servizi di Rete Up: Introduzione Previous: Configurazione di un Name Server

La posta elettronica è la più usata tra le applicazioni Internet. Il protocollo TCP di gestione della posta si chiama Simple Mail Transfer Protocol o SMTP.

Un utente Internet non utilizza direttamente l' SMTP ma un applicativo utente (ad esempio su Unix mh, Berkeley mail, elm, mush). l' applicativo utente invia la posta ad un sever sullo stesso host, chiamato Message Transfer Agent (MTA).

l' MTA apre la connessione TCP con l' MTA ricevente e usa il protocollo SMTP per trasferire la posta al ricevente. Il più comune MTA nei sistemi Unix è sendmail. Da qualche hanno si sta diffondendo anche qmail (gestione domini virtuali). Linux usa anche smail, che è un sendmail semplificato.

I comandi del protocollo SMTP sono circa una dozzina:

Le possibili risposte da parte del ricevente, oltre al generico OK (codice 200), sono il 220 (greetings), il 250 (Dati OK), il 354 (Enter mail) il 221 che termina la connessione

Esempio di scambio di posta tra due sendmail:

# /usr/lib/sendmail -v cxr@dsnet.it
cxr@dsnet.it... aliased to  cxr@minghetti.dsnet.it
Subject: Test

Testing
.
(EOF)
cxr@minghetti.dsnet.it... Connecting to minghetti.dsnet.it (smtpl)...
220 minghetti.dsnet.it Sendmail 5.65 (1.1.8.2/14Sep94-8.2MAM) Mon, 18 Dec 1995 0
8:13:51 GMT
>>> HELO maggiore.dsnet.it
250 minghetti.dsnet.it Hello maggiore.dsnet.it, pleased to meet you
>>> MAIL From:
250 ... Sender ok
>>> RCPT To:
250 ... Recipient ok
>>> DATA
354 Enter mail, end with "." on a line by itself
>>> .
250 Ok
>>> QUIT
221 minghetti.dsnet.it closing connection
cxr@minghetti.dsnet.it... Sent

Un messaggio di posta elettronica è composto da tre parti:

L' applicativo utente prende il contenuto del messaggio, aggiunge i suoi header e manda il messaggio all' MTA (sendmail). Questo aggiunge a sua volta i suoi header, aggiunge l' envelope e manda il tutto al ricevente del messaggio

Se il tentativo di invio posta fallisce , l' MTA deve mettere il messaggio in coda e riprovare la trasmissione più tardi. RFC Host Requirements consiglia un time-out di circa 30 minuti, riprovando in caso di fallimento per 4/5 giorni. Il default di sendmail è di 3 giorni

RFC 1425 definisce delle estensioni al protocollo SMTP : Extended SMTP (ESMTP). Usa il comando EHLO dopo il greeting, in modo da mantenere la compatibilità con le versioni standard di SMTP. Supporta dei comandi in più: SIZE, 8BITMIME (per permettere trasferimenti non ASCII)

RFC 1521 definisce delle estensioni al SMTP che permettono di strutturare il body del messaggio. Queste estensioni sono chiamate Multipurpose Internet Mail Extensions (MIME). Non usa ESMTP, ma invece aggiunge degli ulteriori headers per informare il ricevente della struttura del corpo del messaggio.

Perchè funzioni, l' applicativo utente del ricevente deve essere in grado di interpretare MIME.

La configurazione di un MTA di posta è piuttosto complicata. Oggi - a causa del problema dello spamming - lo è ancora di più. E' necessario infatti limitare le funzioni di relay-to dell'SMTP e in alcuni casi configurare dei preprocessori che permettano di rifiutare a priori mail provenienti o destinate a particolari indirizzi

In Unix con sendmail, il principale file di configurazione si chiama sendmail.cf

SOFTWARE PROGETTO DSNET
Mercoledi' 13 maggio 1998