Server mail base: Postfix Dovecot e MySql: differenze tra le versioni

 
(18 versioni intermedie di 4 utenti non mostrate)
Riga 1: Riga 1:
{{Guida da adottare | Marcomg}}
{{Stub}}
==Introduzione==
==Introduzione==
Prima di mettere in piedi un server mail, è necessario valutare l'architettura di cui abbiamo bisogno e poi fare la cernita tra i vari pacchetti disponibili, equivalenti e non che concorrono all'installazione del servizio globale di mailing.  
Prima di mettere in piedi un server mail, è necessario valutare l'architettura di cui abbiamo bisogno e poi fare la cernita tra i vari pacchetti disponibili, equivalenti e non che concorrono all'installazione del servizio globale di mailing.  


Come potrete immaginare, un server mail non è un software ma è un castello di servizi che noi edifichiamo secondo le nostre esigenze o capacità. Ciò ci dà la massima flessibilità e libertà ma al contempo crea spesso confusione, incertezze, dubbi e difficoltà di installazione. Infine in Rete si trovano infinite e differenti documentazioni che, cercandole di adattare alle nostre varianti, spesso ci portano ad errori.
Come potrete immaginare, un server mail non è un software ma è un castello di servizi che noi edifichiamo secondo le nostre esigenze o capacità. Ciò ci dà la massima flessibilità e libertà ma al contempo crea spesso confusione, incertezze, dubbi e difficoltà di installazione. Infine in Rete si trovano infinite e differenti documentazioni che, cercando di adattare alle nostre varianti, spesso portano ad errori.


In questa pagina voglio esporre in modo completo (dalla A alla Z) una delle tante possibili configurazioni per creare un server mail. Le peculiarità salienti di questa architettura sono:
In questa pagina voglio esporre in modo completo (dalla A alla Z) una delle tante possibili configurazioni per creare un server mail. Le peculiarità salienti di questa architettura sono:
* servizio IMAP per la lettura delle email
* servizio IMAP per la lettura delle email
* configurazione dinamica di utenti, forward, domini tramite immagazzinamento dati su un Database (mySql)
* configurazione dinamica di utenti, forward, domini tramite immagazzinamento dati su un Database (MySQL)
* gestione email per più domini
* gestione email per più domini


Se soltanto una di queste peculiarità differisce dalle tue necessità, ti consiglio di valutare e leggere altre documentazioni complete e pensate per altri scopi, in modo da non trovarti servizi e pacchetti inutili e problemi di configurazione nel caso in cui non conoscessi bene i software in uso.
Se soltanto una di queste caratteristiche differisce dalle tue necessità, ti consiglio di valutare e leggere altre documentazioni complete e pensate per altri scopi, in modo da non trovarti servizi e pacchetti inutili e problemi di configurazione nel caso in cui non conoscessi bene i software in uso.


==Requisiti iniziali ==
==Requisiti iniziali ==
Sulla macchina è installa una versione GNU/Linux Debian (testato su Debian 6.0 a 64 bit)
Sulla macchina è installa una versione GNU/Linux Debian (testato su Debian 6.0 a 64 bit)


La macchina è predisposta per essere un server [[http://guide.debianizzati.org/index.php/Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_MySQL,_PHP5| LAMP ]], ma per chi non ne avesse la necessità è sufficiente l'installazione del server MySQl
La macchina è predisposta per essere un server [[Installare_un_ambiente_LAMP:_Linux,_Apache2,_SSL,_MySQL,_PHP5|LAMP]], ma per chi non ne avesse la necessità è sufficiente l'installazione del server MySQL.


Per eseguire la guida bisogna avere i permessi di root
Per eseguire la guida bisogna avere i permessi di root.


Nelle mie guide utilizzo preferenzialmente l'editor testuale '''vi''', ma vi lascio la libertà di poter scegliere quello che preferite: una ragione in più per porre attenzione ai ''copia e incolla'' dei comandi ;-)
{{Suggerimento|Nelle mie guide utilizzo preferenzialmente l'editor testuale '''nano''', ma vi lascio la libertà di poter scegliere quello che preferite: una ragione in più per porre attenzione ai ''copia e incolla'' dei comandi ;-) }}


== Installazione ==
== Installazione ==
Per l'installazione dei pacchetti eseguire il comando:
Per l'installazione dei pacchetti eseguire il comando:


   aptitude install postfix-mysql dovecot-imapd
   # apt install postfix-mysql dovecot-imapd


Se sulla macchina c'era installato il predefinito Exim4, non preoccupatevi perché ci penserà Postfix a rimuoverlo.
Se sulla macchina c'era installato il predefinito Exim4, non preoccupatevi perché ci penserà Postfix a rimuoverlo.
Riga 36: Riga 38:


Tutte le impostazioni si possono fare direttamente nel file principale: /etc/postfix/main.cf
Tutte le impostazioni si possono fare direttamente nel file principale: /etc/postfix/main.cf


== Creazione del database ==
== Creazione del database ==
A questo punto è necesasartio preparare il database che ospiterà tutti i dati. Il nome assegnato al database è ''mailserver'', ma non è assolutamente vincolante, ergo potete assegnare il nome che volete, facendo però attenzione a modificare le istruzioni qui riportate.
A questo punto è necessario preparare il database che ospiterà tutti i dati. Il nome assegnato al database è ''mailserver'', ma non è assolutamente vincolante, ergo potete assegnare il nome che volete, facendo però attenzione a modificare le istruzioni qui riportate.


Entrare nella shell di mysql  (mysql -u root -p):
Entrare nella shell di mysql  (mysql -u root -p):
   mysql --user=root --password=mettere_password
   # mysql --user=root --password=mettere_password


Effettuato il login con i privilegi necessari e dalla console di MySQL creiamo il database:
Effettuato il login con i privilegi necessari, dalla console di MySQL procediamo con la creazione del database:
   mysql>  CREATE DATABASE mailserver DEFAULT CHARSET utf8;
   #''mysql>'' CREATE DATABASE mailserver DEFAULT CHARSET utf8;


Ora passiamo alla prima tabella destinata a memorizzare gli account utente virtuali. Nel nostro caso indirizzo email e nome utente coincideranno, come sono soliti fare gli ISP.
Ora passiamo alla prima tabella destinata a memorizzare gli account utente virtuali. Nel nostro caso indirizzo email e nome utente coincideranno, come sono soliti fare gli ISP.
Selezioniamo il database
Prima dobbiamo selezionare il database
   mysql> use mailserver
   #''mysql>'' use mailserver


Creiamo la table
Poi creiamo la tabella con la seguente istruzione SQL


   mysql> CREATE TABLE `users` (
   #''mysql>'' CREATE TABLE `users` (
     `email` varchar(200) NOT NULL,
     `email` varchar(200) NOT NULL,
     `password` varchar(128) NOT NULL,
     `password` varchar(128) NOT NULL,
Riga 64: Riga 65:




Notate il campo active, potremo utilizzarlo come flag per disattivare un utente senza eliminare le informazioni relative alla sua casella di posta.
Notate il campo "active" della tabella, questo lo potremo utilizzarlo come flag per disattivare un utente senza eliminare le informazioni relative alla sua casella di posta.
Proseguiamo con la successiva tabella destinata a contenere i domini per i quali il nostro server sarà abilitato a ricevere posta. Non dimenticate di far puntare al suo indirizzo IP i corrispondenti record MX dei DNS.
Proseguiamo con la successiva tabella destinata a contenere i domini per i quali il nostro server sarà abilitato a ricevere posta. Non dimenticate di far puntare al suo indirizzo IP i corrispondenti record MX dei DNS.
   mysql> CREATE TABLE `domains` (
   #''mysql>'' CREATE TABLE `domains` (
       `domain` varchar(200) NOT NULL,
       `domain` varchar(200) NOT NULL,
       `Status` enum('DISABLE','ENABLE') NOT NULL  default 'ENABLE',
       `Status` enum('DISABLE','ENABLE') NOT NULL  default 'ENABLE',
Riga 75: Riga 76:


Passiamo ora alla creazione della tabella degli forward, dove il campo "source" conterrà l'alias mentre "destination" la casella email verso cui verrà effettuata la ridirezione:
Passiamo ora alla creazione della tabella degli forward, dove il campo "source" conterrà l'alias mentre "destination" la casella email verso cui verrà effettuata la ridirezione:
   mysql> CREATE TABLE `forward` (
   #''mysql>'' CREATE TABLE `forward` (
     `source` varchar(200) NOT NULL,
     `source` varchar(200) NOT NULL,
     `destination` varchar(200) NOT NULL,
     `destination` varchar(200) NOT NULL,
Riga 85: Riga 86:


Terminiamo creando un utente che consentirà a Postfix di agire sul database:
Terminiamo creando un utente che consentirà a Postfix di agire sul database:
   mysql> GRANT SELECT, INSERT, UPDATE, DELETE ON mailserver.* TO postfix@localhost IDENTIFIED BY 'postfix_password';  
   #''mysql>'' GRANT SELECT, INSERT, UPDATE, DELETE ON mailserver.* TO postfix@localhost IDENTIFIED BY 'postfix_password';  


Aggiorniamo i privilegi
Aggiorniamo i privilegi


   mysql> FLUSH PRIVILEGES;
   #''mysql>'' FLUSH PRIVILEGES;


Usciamo dalla sessione di mysql
Infine, usciamo dalla shell di mysql con il comando:
   mysql> quit
   #''mysql>'' quit




Riga 117: Riga 118:


Nella directory /etc/postfix, creiamo un file di nome ''mysql-domains.cf''.  
Nella directory /etc/postfix, creiamo un file di nome ''mysql-domains.cf''.  
   vi /etc/postfix/mysql-domains.cf
   # vi /etc/postfix/mysql-domains.cf


Tale file servirà ad accedere alla tabella domains, precedentemente creata, per verificare se Postfix sia autorizzato a ricevere posta per il dominio in oggetto. Ricordo che dovremo aver preventivamente configurato i DNS perché i record MX del dominio puntino al nostro server. Inseriamo in ''mysql-domains.cf'' le seguenti istruzioni:
Tale file servirà ad accedere alla tabella domains, precedentemente creata, per verificare se Postfix sia autorizzato a ricevere posta per il dominio in oggetto. Ricordo che dovremo aver preventivamente configurato i DNS perché i record MX del dominio puntino al nostro server. Inseriamo in ''mysql-domains.cf'' le seguenti istruzioni:
Riga 125: Riga 126:
   query = SELECT domain AS virtual FROM domains WHERE domain='%s'
   query = SELECT domain AS virtual FROM domains WHERE domain='%s'
   hosts = 127.0.0.1
   hosts = 127.0.0.1
NB: lo user "postfix" e relativa password sono relativi all'utente del database che hai definito con il comando "GRANT ..." nel capitolo precedente [[Server_mail_base:_Postfix_Dovecot_e_MySql#Creazione_del_database]]


La sintassi è molto semplice: con le prime tre righe indichiamo a Postfix le credenziali (user e password) ed il database a cui collegarsi.  
La sintassi è molto semplice: con le prime tre righe indichiamo a Postfix le credenziali (user e password) ed il database a cui collegarsi.  
Riga 133: Riga 136:
=== Utenti ===
=== Utenti ===
Nella directory /etc/postfix, creiamo un file di nome mysql-users.cf  
Nella directory /etc/postfix, creiamo un file di nome mysql-users.cf  
   vi /etc/postfix/mysql-users.cf
   # vi /etc/postfix/mysql-users.cf


All'interno del file inseriamo il seguente testo:
All'interno del file inseriamo i dati di autenticazione per permettere l'accesso al database, con il seguente testo:
   user = postfix
   user = postfix
   password = postfix_password
   password = postfix_password
Riga 141: Riga 144:
   query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s' AND status='ENABLE'  
   query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s' AND status='ENABLE'  
   hosts = 127.0.0.1
   hosts = 127.0.0.1
NB: lo user "postfix" e relativa password sono relativi all'utente del database che hai definito con il comando "GRANT ..." nel capitolo precedente [[Server_mail_base:_Postfix_Dovecot_e_MySql#Creazione_del_database]]


La funzione SUBSTRING_INDEX permette di suddividere una stringa in sottostringhe utilizzando un carattere come separatore, nel nostro caso "@". Supponendo che l'indirizzo email sia test@miazienda.it SUBSTRING_INDEX(email,'@',-1) corrisponderà a miazienda.it mentre SUBSTRING_INDEX(email,'@',1) a test. Il risultato della query sarà il percorso ''miazienda.it/test/'' ed rappresenterà il percorso dove verranno salvate le email dell'utente in questione. Questo ci permetterà di gestire facilmente molti domini isolandoli e raggruppando i rispettivi account.
La funzione SUBSTRING_INDEX permette di suddividere una stringa in sottostringhe utilizzando un carattere come separatore, nel nostro caso "@". Supponendo che l'indirizzo email sia test@miazienda.it SUBSTRING_INDEX(email,'@',-1) corrisponderà a miazienda.it mentre SUBSTRING_INDEX(email,'@',1) a test. Il risultato della query sarà il percorso ''miazienda.it/test/'' ed rappresenterà il percorso dove verranno salvate le email dell'utente in questione. Questo ci permetterà di gestire facilmente molti domini isolandoli e raggruppando i rispettivi account.


=== Forward o Alias ===
=== Forward o Alias ===
Questa tabella conterrà gli alias, ovvero quegli indirizzi email che saranno girati automaticamente ad un altro account email.
Questa tabella conterrà gli alias, ovvero quegli indirizzi email che saranno girati automaticamente ad un altro account email.
Nella directory /etc/postfix, creiamo i seguenti due file:
Nella directory /etc/postfix, creiamo i seguenti due file:
   vi /etc/postfix/mysql-aliases.cf
   # vi /etc/postfix/mysql-aliases.cf


All'interno del file inseriamo il seguente testo:
All'interno del file inseriamo il seguente testo:
Riga 156: Riga 160:
   query = SELECT destination FROM forward WHERE source='%s'
   query = SELECT destination FROM forward WHERE source='%s'
   hosts = 127.0.0.1
   hosts = 127.0.0.1
NB: lo user "postfix" e relativa password sono relativi all'utente del database che hai definito con il comando "GRANT ..." nel capitolo precedente [[Server_mail_base:_Postfix_Dovecot_e_MySql#Creazione_del_database]]


Creiamo il secondo file:
Creiamo il secondo file:
   vi /etc/postfix/mysql-email2email.cf
   # vi /etc/postfix/mysql-email2email.cf


All'interno del file inseriamo il seguente testo:
All'interno del file inseriamo il seguente testo:
Riga 166: Riga 172:
   query = SELECT email FROM users WHERE email='%s' AND status='ENABLE'
   query = SELECT email FROM users WHERE email='%s' AND status='ENABLE'
   hosts = 127.0.0.1
   hosts = 127.0.0.1
NB: lo user "postfix" e relativa password sono relativi all'utente del database che hai definito con il comando "GRANT ..." nel capitolo precedente [[Server_mail_base:_Postfix_Dovecot_e_MySql#Creazione_del_database]]


=== Permessi ===
=== Permessi ===
Infine modifichiamo i permessi su tutti i file appena creati:
Infine modifichiamo i permessi su tutti i file appena creati:
   chmod 640 /etc/postfix/mysql-*.cf
   # chmod 640 /etc/postfix/mysql-*.cf
   chown root:postfix /etc/postfix/mysql-*.cf
   # chown root:postfix /etc/postfix/mysql-*.cf




Riga 275: Riga 283:
NB: Se non utilizzate un relayhost per inviare le email, saltate questo capitolo.
NB: Se non utilizzate un relayhost per inviare le email, saltate questo capitolo.
Adesso bisogna inserire lo user e la password per l'autenticazione con il server SMTP esterno.
Adesso bisogna inserire lo user e la password per l'autenticazione con il server SMTP esterno.
   vi /etc/postfix/sasl_password
   # vi /etc/postfix/sasl_password


All'interno di questo file, scrivere l'indirizzo host, come specificato in relayhost del file main.cf, seguito dallo user:password validi per l'autenticazione con tale host.  
All'interno di questo file, scrivere l'indirizzo host, come specificato in relayhost del file main.cf, seguito dallo user:password validi per l'autenticazione con tale host.  
Riga 282: Riga 290:


Generiamo il postfix lookup table, con il seguente comando:
Generiamo il postfix lookup table, con il seguente comando:
   postmap hash:/etc/postfix/sasl_password
   # postmap hash:/etc/postfix/sasl_password


Verifichiamo che la table sia stata creata correttamente con il seguente comando:
Verifichiamo che la table sia stata creata correttamente con il seguente comando:
   postmap -q mail.191.biz /etc/postfix/sasl_password
   # postmap -q mail.191.biz /etc/postfix/sasl_password


Adesso, per ragioni di sicurezza, possiamo cancellare il file di generazione:
Adesso, per ragioni di sicurezza, possiamo cancellare il file di generazione:
   rm /etc/postfix/sasl_password
   # rm /etc/postfix/sasl_password




=== Verifica invio all'esterno delle email ===
=== Verifica invio all'esterno delle email ===
Riavviamo il servizio postfix
Riavviamo il servizio postfix
   service postfix reload
   # service postfix reload


Inviare un'email test a una propria casella email:
Inviare un'email test a una propria casella email:
Riga 299: Riga 307:


Verificare i log per eventuali problemi:
Verificare i log per eventuali problemi:
   tail -f /var/log/mail.log
   # tail -f /var/log/mail.log




Riga 309: Riga 317:
== Configuriamo Dovecot ==
== Configuriamo Dovecot ==
Prima di creiamo/modifichiamo il file:
Prima di creiamo/modifichiamo il file:
   vi /etc/dovecot/dovecot-sql.conf
   # vi /etc/dovecot/dovecot-sql.conf


All'interno del file scriviamo il seguente testo:
All'interno del file scriviamo il seguente testo:
Riga 318: Riga 326:
   user_query = SELECT '/home/vmail/%d/%n' AS home, 'maildir:/home/vmail/%d/%n' AS mail, 5000 AS uid, 5000 AS gid FROM users WHERE email='%u' AND status='ENABLE'
   user_query = SELECT '/home/vmail/%d/%n' AS home, 'maildir:/home/vmail/%d/%n' AS mail, 5000 AS uid, 5000 AS gid FROM users WHERE email='%u' AND status='ENABLE'
   Si intuisce dalla sintassi che %u rappresenta l'indirizzo email completo (test@miazienda.it), %d il dominio (miazienda.it), %n il  nome (test).  
   Si intuisce dalla sintassi che %u rappresenta l'indirizzo email completo (test@miazienda.it), %d il dominio (miazienda.it), %n il  nome (test).  
NB: lo user "postfix" e relativa password sono relativi all'utente del database che hai definito con il comando "GRANT ..." nel capitolo precedente [[Server_mail_base:_Postfix_Dovecot_e_MySql#Creazione_del_database]]


Adesso impostiamo il file di configurazione
Adesso impostiamo il file di configurazione
   vi /etc/dovecot/dovecot.conf
   # vi /etc/dovecot/dovecot.conf


con questi principali parametri:
con questi principali parametri:
Riga 357: Riga 367:


=== Postfix ===
=== Postfix ===
A questo punto facciamo qualche prova per vedere se tutto funziona. Avviamo Postfix e controlliamo i messaggi nel file di log:
A questo punto facciamo qualche prova per vedere se tutto funziona. Avviamo Postfix e controlliamo i messaggi nel file di log, con i seguenti due comandi:
   service postfix start
   # service postfix start
   tail -f /var/log/mail.log
   # tail -f /var/log/mail.log


Se c'è qualche problema correggiamolo interpretando i messaggi ricevuti. Per far rileggere a Postfix il file di configurazione digitiamo semplicemente postfix reload.  
Se c'è qualche problema correggiamolo interpretando i messaggi ricevuti. Per far rileggere a Postfix il file di configurazione digitiamo semplicemente postfix reload.  


Per controllare che Postfix è installato correttamente, fate un telnet alla porta 25 di localhost (hostname dov'è installato postfix).
Per controllare che Postfix è installato correttamente, fate un telnet alla porta 25 di localhost (hostname dov'è installato postfix).
  telnet localhost 25
  # telnet localhost 25
Se tutto va bene, dovreste leggere un messaggio di benvenuto simile a questo:  
Se tutto va bene, dovreste leggere un messaggio di benvenuto simile a questo:  
     Trying 127.0.0.1...
     Trying 127.0.0.1...
Riga 376: Riga 386:
=== Server imap ===
=== Server imap ===
Da terminale dare il comando
Da terminale dare il comando
   telnet localhost imap
   # telnet localhost imap


se compare una scritta del tipo:
se compare una scritta del tipo:
Riga 399: Riga 409:
=== Inviamo un'email di prova ===
=== Inviamo un'email di prova ===
A questo punto il funzionamento di base è testato non resta che cominciare ad inviare qualche email al server, sia all'account reale che all'alias, verificandone la corretta consegna. Inizialmente proviamo in locale con il comando mail:
A questo punto il funzionamento di base è testato non resta che cominciare ad inviare qualche email al server, sia all'account reale che all'alias, verificandone la corretta consegna. Inizialmente proviamo in locale con il comando mail:
   mail -s 'test funzionamento' test@miazienda.it
   # mail -s 'test funzionamento' test@miazienda.it


Dopo aver digitato il comando ''mail'' premiamo invio, poi scriviamo un messaggio di prova e con CRTL + d indichiamo che l'immissione di testo è terminata, un nuovo invio dopo "Cc:" finalizza la spedizione dell'email.  
Dopo aver digitato il comando ''mail'' premiamo invio, poi scriviamo un messaggio di prova e con CRTL + d indichiamo che l'immissione di testo è terminata, un nuovo invio dopo "Cc:" finalizza la spedizione dell'email.  
Riga 409: Riga 419:
== Errori noti ==
== Errori noti ==
Nei log in /var/log/mail.log ho riscontrato questo errore:
Nei log in /var/log/mail.log ho riscontrato questo errore:
   postfix/trivial-rewrite[1749]: warning: do not list domain mediartek.com in BOTH mydestination and virtual_mailbox_domains
   postfix/trivial-rewrite[1749]: warning: do not list domain miodominio.it in BOTH mydestination and virtual_mailbox_domains


che mi impediva di inviare da locale le email al dominio virtuale mediartek.com. Questo problema è noto in quanto se Postfix trova un dominio virtuale identico al dominio della sistema, elimina l'email in quanto non sa dove destinarla.
che mi impediva di inviare da locale le email al dominio virtuale miodominio.it. Questo problema è noto in quanto se Postfix trova un dominio virtuale identico al dominio della sistema, elimina l'email in quanto non sa dove destinarla.


Una soluzione è assegnare domini differenti, ad esempio lasciare tutto il sistema e il database con il dominio originale e modificare in /etc/postfix/main.cf il valore di ''mydestination''; per esempio:  
Una soluzione è assegnare domini differenti, ad esempio lasciare tutto il sistema e il database con il dominio originale e modificare in /etc/postfix/main.cf il valore di ''mydestination''; per esempio:  
   mydestination = localhost
   mydestination = localhost
così postfix farà riferimento allo smistamento locale per ''localhost'' e poi verificherà la presenza dei domini virtuali senza trovare alcuna incongruenza
così postfix farà riferimento allo smistamento locale per ''localhost'' e poi verificherà la presenza dei domini virtuali senza trovare alcuna incongruenza


== Conclusioni ==
== Conclusioni ==
A questo punto abbiamo un server mail base funzionante, ora si potrebbe fare delle implementazioni come inserire dei controlli (virus e spam) alle email e installare e/o crearci un'interfaccia per modificare comodamente i campi del database.
A questo punto abbiamo un server mail base funzionante, ora, volendo, si potrebbero fare varie implementazioni, come, ad esempio, inserire dei controlli (virus e spam) alle email, installare e/o crearci un'interfaccia per modificare comodamente i campi del database, installare una webmail, ecc..
 


== Implementazioni ==
== Implementazioni ==
Riga 426: Riga 434:
Aggiunta del mail scanner per il controllo delle email: '''Amavisd-new''' - fai riferimento alla guida [[Server mail: Postfix Amavisd-new Dovecot e MySql]]
Aggiunta del mail scanner per il controllo delle email: '''Amavisd-new''' - fai riferimento alla guida [[Server mail: Postfix Amavisd-new Dovecot e MySql]]


Aggiunta del mail scanner per il controllo delle email: '''MailScanner''' - fai riferimento alla guida [[Server mail: Postfix MailScanner Dovecot e MySql]]
{{Autori
 
|Autore=[[Utente:More|More+]] 23:37, 13 mag 2011 (CEST)
 
}}
 
----
 
 
''Documentazione testata su Debian Squeeze 64 bit''


Autore [[Utente:More|More+]]
[[Categoria:Mail server]]