Server email self-hosted su Debian 12
Configurazione completa di un mail server con invio, ricezione, IMAP e autenticazione DKIM/SPF/DMARC.
1. Prerequisiti
- VPS con IP pubblico e porta 25 aperta
- Dominio con accesso DNS (record MX, SPF, DKIM, DMARC)
- Hostname configurato:
hostnamectl set-hostname mail.miosito.it
2. Installazione Postfix (SMTP)
apt install -y postfix postfix-policyd-spf-python
# Scegli "Internet Site" e inserisci il dominio
3. Configurazione Postfix
Modifica /etc/postfix/main.cf:
myhostname = mail.miosito.it
mydomain = miosito.it
myorigin = $mydomain
mydestination = $myhostname, $mydomain, localhost
inet_interfaces = all
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.miosito.it/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.miosito.it/privkey.pem
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
4. Installazione Dovecot (IMAP)
apt install -y dovecot-imapd dovecot-lmtpd
Configura /etc/dovecot/conf.d/10-mail.conf:
mail_location = maildir:~/Maildir
Configura /etc/dovecot/conf.d/10-auth.conf:
auth_mechanisms = plain login
5. DKIM con OpenDKIM
apt install -y opendkim opendkim-tools
mkdir -p /etc/opendkim/keys/miosito.it
opendkim-genkey -s mail -d miosito.it -D /etc/opendkim/keys/miosito.it/
chown -R opendkim:opendkim /etc/opendkim
Aggiungi il record DNS TXT dal file /etc/opendkim/keys/miosito.it/mail.txt.
6. Record DNS necessari
MX miosito.it mail.miosito.it 10
A mail.miosito.it IP-PUBBLICO
TXT miosito.it "v=spf1 mx a ip4:IP-PUBBLICO -all"
TXT _dmarc.miosito.it "v=DMARC1; p=quarantine; rua=mailto:admin@miosito.it"
7. Avvio e test
systemctl restart postfix dovecot opendkim
# Test invio
echo "Test" | mail -s "Prova" destinatario@gmail.com
Risultato: Mail server completo con SMTP, IMAP, TLS, DKIM, SPF e DMARC.