Configurare postfix e vm-pop3 per gestire domini di posta virtuali

Questo è un howto che permette una volta installato postfix di farlo funzionare con più domini, usando vm-pop3d come pop3 server.

Postfix è reperibile sul sito ufficiale http://www.postfix.org/
vm-pop3d è reperibile su www.reedmedia.net

Obiettivi: creazione di un mailserver per n domini.

Aggiungere l'utente di sistema virtual al file /etc/passwd:
virtual:*:200:200:Postino:/dev/null:/bin/nologin

Installato Postfix (make -- make install) modificare il file /etc/main.cf:
# Aggiungeremo:
virtual_mailbox_base = /var/spool/virtual
virtual_mailbox_maps = hash:/var/spool/virtual/vmailbox
virtual_mailbox_domains = hash:/var/spool/virtual/vmaildomains
virtual_uid_maps = static:200
virtual_gid_maps = static:200
virtual_minimun_uid = 200
virtual_mailbox_lock = dotlock


# Modifica variabili.
# Questo lo commentiamo
#$mydomain =

# I domini verranno specificati in quelli virtuali.. non ne inseriremo nessuno
$mydestination = $hostname

# Non vogliamo finire nelle blacklist di mezzo mondo quindi attenzione
# Metteteci solamente gli IP abilitati a spedire posta per evitare di aprire il relay a tutti:
$mynetworks =  10.10.10.0/24

Per il resto lasciamo invariato.
Ora dobbiamo creare la dir e i file di amministrazione:
mkdir /var/spool/virtual
touch /var/spool/virtual/vmailbox
touch /var/spool/virtual/vmaildomains


La dir /var/spool/virtual conterrà le dir con tutti i domini virtuali e i file degli utenti virtuali
Attenti ai permessi sulla dir: è l'utente "virtual" che dovrà avere accesso alle mailbox, quindi dare un
chown -R 200:200 /var/spool/virtual

Creiamo i domini che vogliamo utilizzare, ad esempio pippo.it pluto.it e paperino.it. Editiamo /var/spool/virtual/vmaildomains:

#Lista domini con commento
pippo.it           pippo
pluto.it           pluto
paperino.it        paperino


Ora inseriremo qualche utente, naturalmente "[email protected]" e "[email protected]"  sono due account diversi. Editiamo /var/spool/virtual/vmailbox:

#Lista utenti per dominio
[email protected]        pippo.it/tex
[email protected]        pluto.it/tex
[email protected]        pippo.it/ciccio
[email protected]    paperino.it/ciccio
[email protected]        [email protected]


Ora passiamo alla creazione delle dir per i domini quindi:
mkdir /var/spool/virtual/pippo.it
mkdir /var/spool/virtual/pluto.it
mkdir /var/spool/virtual/paperino.it


Ora creiamo i file db per i domini e utenti necessari per il funzionamento: ogni qualvolta aggiungiamo un utente o un dominio si ripete questa operazione:
postmap vmailbox
postmap vmaildomains


Per quanto riguarda il POP per scaricare la posta installiamo vm-pop3d prima di tutto modifichiamo il file vm-pop3d.h dovremo specificargli:
VIRTUAL_UID 200
VIRTUAL_MAILPATH "/var/spool/virtual"
VIRTUAL_PASSWORDS_PATH "/var/spool/virtual"
VIRTUAL_PASSWORD_FNAME "passwd"


Questa configurazione varia da persona a persona.. se non siete sicuri lasciate così ,se volete chiamare il file delle password "gigi" siete liberissimi di farlo ricordatevelo però!
Diamo un
make install
di default in qualche distro viene installato pop3. A noi non interessa quindi andiamo a modificare /etc/inet.conf (o /etc/xinet.d/ipop3d) togliendo pop3d e mettendo vmpop3d (con path completo) per specificare il programma da lanciare quando arriva una connessione sulla porta pop3. Ristartiamo (x)inetd.

Per definire le password andiamo a posizionarci nella VIRTUAL_PASSWORDS_PATH che per esempio è "/var/spool/virtual" la stessa dove andranno a finire la mail. Le dir le abbiamo già create quindi procediamo per il primo utente creando il file passwd:
cd /var/spool/virtual/pippo.it
htpasswd -bc passwd tex lamiapassword

e così per tutti gli utenti (togliere -c --create per andare ad aggiungere una password ad un file esistente). Avremo quindi un file passwd per ogni dominio. Il file delle password deve essere leggibile dall'utente virtual.

Per fare il login pop3 e controllare la casella postale si deve iserire il nome utente con il relativo dominio. Es: [email protected].

Possiamo anche testare subito il virtual pop3:
telnet hostname 110
user [email protected]
pass n0nn4p4p3r4
stat
quit

Privacy Policy