:: QMAIL


Nome del pacchetto:   qmail
Sito di riferimento:   http://cr.yp.to/qmail.html - http://www.qmail.org
Autore:   D. J. Bernstein
Versione presentata:   v. 1.0.3
Categoria port:   MAIL

:: Descrizione del pacchetto

Qmail è un MTA sicuro, affidabile e veloce. E' un ottimo sostituto dei più diffusi sendmail o postfix.

Sicurezza
Al momento in cui scriviamo Qmail non è stato mai violato. Attualmente esiste una "taglia" di $1000 per chi scopre un buco in grado di compromettere il sistema che lo ospita.

Efficienza
Qmail, rispetto al più diffuso SENDMAIL, è in grado di smistare contemporaneamente più messaggi. Sarà l'amministratore a decidere quante code qmail potrà gestire in parallelo.

Maildir
Qmail introduce un nuovo sistema di archiviazione della posta elettronica. Completata l'installazione la prima cosa da decidere è infatti la modalità di funzionamento del programma in merito alla gestione dei folder e messaggi di posta.

Qmail offre un sistema diverso dal solito /var/spool/mail che risulta essere più performante (soprattutto in sistemi con molti utenti) e più sicuro per quanto riguarda la consistenza della mailbox.
Questo modalità si chiama Maildir e prevede la memorizzazione dei messaggio all'interno della directory maildir della home directory dell'utente.

Ecco la struttura del folder per la memorizzazione della mail:



Se decidete di usare questa modalità, il boot script che dovrete utilizzare è maildir presente in /var/qmail/boot/.

:: Installazione

Qmail è presente tra la lista dei ports di FreeBSD e di conseguenza per l'installazione possiamo eseguire i seguenti comandi:

# cd /usr/ports/mail/qmail
# make WITH_QMAILQUEUE_PATCH=yes
# make install
# make disable-sendmail
# make enable-qmail
# make clean

L'opzione WITH_QMAILQUEUE_PATCH specificata nel comando make consente la compilazione di qmail con la patch QMAILQUEUE necessaria per il corretto funzionamento di qmail-scanner.

Il port installa anche la patch-103.

Al termine dell'installazione, in /usr/local/etc/rc.d viene creato un boot script per l'avvio automatico al boot di qmail che non è altro che un link simbolico al file /var/qmail/rc.
Questo file però non esiste. Dovrete inserirlo voi nella directory indicata copiandolo da /var/qmail/boot.
Attenzione, il fatto che non ci sia il file rc non è un errore del manteiner che gestisce il port ma è dovuto al fatto che dovrete scegliere il file di boot giusto per far lavorare qmail nella modalità di gestione della maibox che preferite.
Nel nostro caso abbiamo fatto quanto segue:

# cd /var/qmail/boot
# cp maildir ../rc

controlliamo che nel file rc.conf ci sia l'istruzione:

sendmail_enable="NONE"

e "killiamo" l'eventuale processo. L'installazione è completata.

:: Configurazione

Configuriamo Qmail.
La tabella riporta i file da creare in /var/qmail/control e relativo contenuto.

FileContenutoA cosa serve
badmailfromutente@host.domIndirizzi di utenti o host da cui non accetto posta.
bouncefrompostmasterNome dell'utente che compare nei messaggi tornati indietro perchè non consegnati.
bouncehostserver.rete.domNome dell'host che compare nei messaggi tornati indietro perchè non consegnati.
concurrencylocal10Numero di code "locali" smistate contemporaneamente.
concurrencyremote20Numero di code "remote" smistate contemporaneamente.
databytes20000000Massima grandezza degli attachment consentita in ingresso e uscita.
defaultdomainrete.domNome del dominio che qmail-inject aggiunge all'host se non definito nell'email.
defaulthostserverNome del server che qmail-inject aggiunge all'host se non definito nell'email.
localiphostserverNome locale del server per i messaggi che usano l'indirizzo IP dell'host locale.
localslocalhost
server.rete.dom
Nomi di host che qmail considera "locali"
meserver.rete.domNome del host.
queuelifetime604800Secondi di permanenza dei messaggi non smistati in coda.
rcpthostsserver.rete.domNome dell'host per cui l'MTA riceve la mail.
smtpgreetingServer della mia rete - BenvenutoPrimo messaggio di risposta del Mailserver.
timeoutconnect60Secondi di attesa di qmail per una risposta da parte di un server per l'apertura di una nuova connessione SMTP.
timeoutremote1200Secondi di attesa di qmail per una risposta da parte di un altro server prima di chiudere la sessione.
virtualdomainsdominio:mioserverConsente a qmail di gestire posta per altri domini.


Qmail prevede altri file di configurazione. Per un elenco completo consultate lo schema disponibile nel sito ufficiale di Qmail.

Ora dobbiamo procedera all'attivazione del tcpserver in modo che Qmail possa risponda correttamente alla porta 25 e possa funzionare da RELAY SMTP per la rete o per gli host che desideriamo.
L'attivazione del servizio è descritto nella sezione relativa al pacchetto UCSPI-TCP.

ATTENZIONE: Al termine della configurazione di QMAIL procedete ad una corretta configurazione dei record nel DNS in modo tale che il vostro sistema abbia effettivamente un nome e relativo record MX.

Ex:
SERVER.RETE.DOM Record A 1.2.3.4
MAIL.RETE.DOM Record CNAME SERVER.RETE.DOM
SERVER.RETE.DOM Record MX [PRIORITIA'] SERVER.RETE.DOM

Per la configurazione del dns fate riferimento alla documentazione del pacchetto che utilizzate o alla faq relativa a DJBDNS, uno dei software open-source disponibili per l'implementazione di tale servizio.

In seguito alla configurazione procediamo con il riavvio del servizio eseguendo i seguenti comandi:

# cd /usr/local/etc/rc.d
# ./qmail.sh stop
# ./qmail.sh start

Attivo e funzionante Qmail dobbiamo eseguire le seguenti operazioni per ciascun utente di sistema affinchè si possa utilizzare la modalità di archiviazione dei messaggi "Maildir":

# cd /home/utente
# vi .qmail
[CONTENUTO DEL FILE]
./Maildir/

# chown utente .qmail
# chgrp utente .qmail

# maildirmake /home/utente
# chown utente.utente /home/utente/Maildir
# chown utente.utente /home/utente/Maildir/tmp
# chown utente.utente /home/utente/Maildir/cur
# chown utente.utente /home/utente/Maildir/new

Per concludere la configurazione riportiamo uno schema riepilogativo dei demoni che lavorano per lo smistamento della posta e gestione della mailbox.



Due comandi particolarmente utili nella gestione e controllo della coda di posta sono:
  • qmail-qstat
  • qmail-qread
entrambi disponibili in /var/qmail/bin, sono necessari ripettivamente per controllare il numero dei messaggi in coda e il contenuto.

Struttura delle directory di qmail:

/var/qmail/
+- alias  Qmail file alias
+- bin  tutti gli eseguibili
+- boot  script per l'avvio di qmail nelle varie modalità
+- control file di configurazione di qmail
+- doc  documentazione
+- man  Man pages
+- queue  tutte le directory per la gestione della coda
+- users  file utenti



[ Pagina principale ]