Configuració de Correu a Linux: Postfix i Dovecot
Aquesta guia mostra com muntar, de manera manual i sense Docker, un servidor de correu mínim a Linux amb Postfix (MTA) i Dovecot (servidor IMAP/POP3 i MDA). L'objectiu és entendre com s'integren aquests dos serveis abans d'abordar una solució ja empaquetada com Mailcow.
Treballarem sobre Ubuntu Server 22.04 LTS, encara que els paquets i els noms dels fitxers de configuració són molt similars a la resta de distribucions basades en Debian.
Instal·lació de Postfix i Dovecot
Durant la instal·lació de Postfix, l'assistent demanarà el tipus de configuració. Per a un servidor que rep i lliura correu localment, tria "Internet Site" i indica el domini (per exemple exemple.local).
Configuració Bàsica de Postfix
El fitxer principal de configuració és /etc/postfix/main.cf. Els paràmetres més rellevants per a un servidor mínim són:
myhostname = mail.exemple.local
mydomain = exemple.local
myorigin = /etc/mailname
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
home_mailbox = Maildir/
Maildir vs mbox
home_mailbox = Maildir/ fa que Postfix entregui els missatges en format Maildir (un fitxer per missatge, dins de ~/Maildir/), que és el format que Dovecot espera per defecte. El format alternatiu mbox (un únic fitxer amb tots els missatges) és més antic i menys robust davant de bloquejos concurrents.
Un cop editat, recarrega el servei:
Configuració de Dovecot
Els fitxers de configuració de Dovecot es troben a /etc/dovecot/conf.d/. Els més importants per a una instal·lació bàsica són:
10-mail.conf — indica on es troben les bústies:
10-auth.conf — mètode d'autenticació (contra els usuaris del sistema):
10-master.conf — serveis i sockets actius. Cal assegurar-se que els listeners d'IMAP i POP3 estan habilitats:
service imap-login {
inet_listener imap {
port = 143
}
inet_listener imaps {
port = 993
ssl = yes
}
}
service pop3-login {
inet_listener pop3 {
port = 110
}
inet_listener pop3s {
port = 995
ssl = yes
}
}
10-ssl.conf — xifrat TLS per a les connexions dels clients:
ssl = required
ssl_cert = </etc/dovecot/private/dovecot.pem
ssl_key = </etc/dovecot/private/dovecot.key
Certificats
Per a proves, Dovecot ja genera un certificat autosignat durant la instal·lació. Per a un entorn real, substitueix ssl_cert/ssl_key per un certificat vàlid (per exemple, obtingut amb Let's Encrypt/Certbot).
Aplica els canvis:
Creació de Comptes d'Usuari
En aquesta configuració mínima, cada compte de correu correspon a un usuari del sistema:
En connectar-se per primera vegada, Dovecot crearà automàticament el directori Maildir/ a l'$HOME de cada usuari.
Prova de Funcionament
Enviament local amb sendmail:
Comprovació manual d'una sessió SMTP:
telnet localhost 25
EHLO exemple.local
MAIL FROM:<joan@exemple.local>
RCPT TO:<maria@exemple.local>
DATA
Assumpte: Prova
.
QUIT
Comprovació manual d'una sessió IMAP xifrada:
openssl s_client -connect localhost:993 -crlf
a LOGIN maria contrasenya
a SELECT INBOX
a FETCH 1 BODY[]
a LOGOUT
Configuració a un client gràfic (Thunderbird, per exemple): servidor entrant IMAP al port 993 (SSL/TLS) i servidor sortint SMTP al port 587 o 25, amb el nom d'usuari i la contrasenya del compte del sistema.
Filtres del costat del servidor amb Sieve
Dovecot implementa Sieve mitjançant el plugin Pigeonhole:
Exemple de regla que mou els correus amb l'assumpte "Factura" a una carpeta:
Diagnòstic
# Comprovar la configuració de Dovecot
sudo doveconf -n
# Veure els usuaris autenticats i l'estat dels processos
sudo doveadm who
# Consultar els logs
sudo journalctl -u postfix -f
sudo journalctl -u dovecot -f
Problemes comuns
Problema: el client no pot autenticar-se
Comprova que disable_plaintext_auth no bloqueja l'autenticació si el client no utilitza TLS, i que l'usuari del sistema existeix i té contrasenya vàlida.
Problema: els correus no arriben a la bústia
Verifica que home_mailbox a Postfix i mail_location a Dovecot apunten al mateix format (Maildir) i ubicació, i revisa els permisos del directori ~/Maildir.
AC0375/05/03 — Miniactivitat
RA5 · CA5b, CA5c, CA5d, CA5e
Abans d'abordar el projecte complet amb Mailcow, instal·la Postfix i Dovecot de manera mínima (sense Docker) en una màquina virtual, crea dos comptes d'usuari locals i comprova que pots enviar un correu entre ells i recollir-lo per IMAP. Documenta quines mesures bàsiques aplicaries per impedir que el servidor sigui utilitzat com a open relay.