1. Prerequisiti DNS
La posta è il task sysadmin più ostico perché tanto del
"funziona?" vive nel DNS. Sistema questo prima di
installare missus e il resto fila liscio.
- Un hostname per il mail server, es.
mail.example.com, con record A (e AAAA, se
IPv6) che punta alla macchina.
- DNS inverso (PTR) sull'IP pubblico che
punta indietro a
mail.example.com. Lo
imposti dal pannello del provider — quasi tutti gli MTA
riceventi (Gmail, Outlook) rifiutano la posta da mittenti
senza rDNS corretto, e missus non può fare nulla per te
su questo.
- Per ogni dominio mail che ospiterai: un record
MX
example.com → mail.example.com (priorità 10
come default). missus ti mostra i record esatti sulla
pagina /dns-advice dopo che hai aggiunto il
dominio.
- Porta 25 in uscita aperta. Molti
provider (DigitalOcean, OVH consumer, ISP residenziali)
la bloccano di default — controlla prima di scegliere
l'host.
Se la 25 in uscita è bloccata, puoi
comunque usare missus per la posta in entrata + IMAP, ma
quella in uscita deve passare per un relay (Mailgun,
Postmark, Amazon SES). missus ha una pagina di configurazione
smarthost per questo.
2. Installa missus
curl -fsSL https://apt.netforge.it/free/key.gpg \
| sudo gpg --dearmor -o /usr/share/keyrings/netforge.gpg
echo "deb [signed-by=/usr/share/keyrings/netforge.gpg] https://apt.netforge.it/free stable main" \
| sudo tee /etc/apt/sources.list.d/netforge.list
sudo apt update
sudo apt install missus
sudo missus admin create iltuonome
sudo systemctl start missus
L'install tira dentro Postfix, Dovecot (con sieve, IMAP,
POP, LMTP), Rspamd, certbot e nftables. Il postinst crea
/srv/missus/ (Maildir, chiavi DKIM, state.db,
backup), genera un session secret a 256 bit, e si ferma lì
— Postfix e Dovecot non sono ancora cablati alle config
generate da missus. Quello succede al primo
Apply.
3. Primo login
missus si lega a 0.0.0.0:8443 di default — il
pattern di deploy è "missus su un host backend o su rete
privata, pannello raggiungibile dal tuo portatile". Dal
portatile:
ssh -L 8443:127.0.0.1:8443 root@tuo-mail-server
# poi apri http://127.0.0.1:8443/ nel browser
Login, attiva 2FA su /account. Poi vai su
/system/server e imposta:
- Hostname — esattamente quello che i
tuoi record A/AAAA puntano (es.
mail.example.com). missus rifiuta nomi
nudi tipo localhost; serve un FQDN perché
certbot, naming dei record DKIM e risoluzione SPF
dipendono tutti da quello.
- IPv4 pubblico, IPv6 pubblico
(se ce l'hai).
- Policy DMARC di default: parti da
quarantine per i domini nuovi, poi sali a
reject quando sei sicuro che SPF + DKIM
siano allineati (vedi sezione DMARC sotto).
4. Primo dominio mail
Vai su /domains, click su + Nuovo
dominio, scrivi example.com, imposta
una quota di default per casella (es. 1024 MB) e un rate
limit in uscita (es. 200/h è sano per uso personale; sali a
1000+ per un piccolo team).
Al salvataggio, missus genera una coppia DKIM RSA 2048-bit
in /srv/missus/dkim/example.com.key con
selettore missus. La chiave pubblica è quella
che pubblicherai nel DNS al passo successivo.
Click su + Genera DKIM se non è già
generata, poi vai su /dns-advice.
5. Pubblica i record DNS
/dns-advice mostra i record esatti che devi
pubblicare per ogni dominio aggiunto. Sono sei per dominio:
| Tipo | Nome | A cosa serve |
| A / AAAA | mail.example.com | Hostname server → IP (lo imposti prima dell'install) |
| MX | example.com | Dove arriva la posta per questo dominio |
| TXT (SPF) | example.com | Autorizza gli IP del server a inviare per il dominio |
| TXT (DKIM) | missus._domainkey.example.com | Chiave pubblica per verificare le firme outbound |
| TXT (DMARC) | _dmarc.example.com | Cosa devono fare i destinatari quando SPF e DKIM falliscono |
| SRV | _smtps._tcp.example.com | Dice ai client di autoconfig dove inviare/ricevere (RFC 6186) |
Incolla al registrar — oppure, se usi anche nomina,
aggiungili come record di zona lì. Poi click
Verifica su /dns-advice;
missus interroga il DNS pubblico e riporta ogni riga
verde / giallo / rosso. Aspetta che siano tutti verdi prima
di emettere TLS o inviare posta vera.
I record SRV sono opzionali ma comodissimi
— un utente Thunderbird o Apple Mail scrive
jane@example.com + password e il client trova
IMAP e SMTP da solo.
6. TLS per SMTP/IMAP
Vai su /system/certificates, richiedi un cert
Let's Encrypt per mail.example.com. missus usa
certbot --standalone sulla porta 80 se è
libera, o DNS-01 se hai configurato un
plugin DNS (Cloudflare, Route53, …).
Al successo, missus salva il cert in
/etc/letsencrypt/live/mail.example.com/, punta
il smtpd_tls_cert_file di Postfix + il
ssl_cert di Dovecot lì sopra, e ricarica
entrambi i demoni. Il timer systemd
missus-renew rinnova due volte al giorno e
rigira lo stesso deploy hook.
7. Caselle e alias
Le caselle sono virtuali — non corrispondono a
utenti Unix. L'autenticazione avviene contro
state.db (hash Argon2id) via Dovecot. La
Maildir su disco è in
/srv/missus/mail/<dominio>/<local>/
posseduta dall'utente di sistema vmail.
# Dal pannello: /mailboxes → + Nuova casella
# indirizzo: jane@example.com
# password: (password forte)
#
# Dalla CLI:
sudo missus mailbox add jane@example.com
Gli alias redirigono posta senza una
Maildir. Usali per indirizzi di ruolo, fan-out di reparto,
catch-all:
# Redirezione singola
info@example.com → jane@example.com
# Fan-out (una sorgente, molti destinatari)
sales@example.com → jane@example.com, mark@example.com
# Catch-all (qualsiasi @example.com che non sia una casella definita)
@example.com → jane@example.com
Modifica su /aliases, oppure:
sudo missus alias add info@example.com jane@example.com
sudo missus alias add @example.com jane@example.com
8. Report aggregati DMARC
L'ingest dei report DMARC è una di quelle cose che
altrimenti pagheresti $20–200/mese come SaaS. missus lo fa
inline col resto del pannello.
Su /dmarc/<dominio>/enable, missus fa
tre cose in un colpo:
- Crea una casella
dmarc@<dominio> con
una password generata (mostrata una volta sola, poi mai
più — salvala).
- Aggiorna l'advice del record TXT DMARC per includere
rua=mailto:dmarc@<dominio>.
Ripubblica il record da /dns-advice.
- Abilita un timer systemd giornaliero
(
missus-dmarc-poll.timer) che cammina la
Maildir di dmarc@, ingerisce i report XML
/ ZIP / GZ allegati, e salva le statistiche aggregate
in state.db.
Entro 24 h Gmail, Microsoft, Yahoo e decine di altri
destinatari iniziano a mandare report. La dashboard
/dmarc/<dominio> mostra: messaggi totali
osservati, percentuale di alignment, top sorgenti, top IP
fallenti.
Import manuale per un report una tantum o
per backfillare:
missus dmarc import path/to/report.xml.gz.
9. Coda e monitoring live
La pagina /queue legge
postqueue -p e lo presenta come tabella
ordinabile. Per ogni messaggio puoi mettere in hold,
rilasciare, requeue, eliminare. Il filtro per mittente o
destinatario è a un click.
La dashboard /system/live si auto-aggiorna
ogni pochi secondi e mostra: profondità coda postfix
(active / deferred / hold), sessioni dovecot attive,
breakdown delle azioni Rspamd negli ultimi 5 minuti, righe
di log recenti. Utile quando stai inseguendo "questo
messaggio è arrivato?" in tempo reale.
10. Backup e migrazione
Tutto quello che missus possiede vive in
/srv/missus/ — Maildir, state.db, chiavi DKIM
private, certbot live tree. Il backup è rsync.
sudo rsync -aHAX --delete /srv/missus/ backup-host:/srv/missus-snapshot/
# nuova macchina, dopo `apt install missus`
sudo rsync -aHAX backup-host:/srv/missus-snapshot/ /srv/missus/
sudo missus rehydrate
missus rehydrate rigenera il ruleset firewall,
gli script sieve per casella, e le config
postfix/dovecot/rspamd da /srv/missus/ sulla
nuova macchina, poi ricarica ogni demone.
Per restore granulari (una singola casella, un intero
dominio) la pagina /backup impacchetta
tarball che puoi smontare al restore.
11. Troubleshooting
Prima fermata:
sudo missus check
Cammina su filesystem, demoni, porte in ascolto
(25/465/587/993/995), wiring postfix
(virtual_mailbox_domains,
virtual_alias_maps), e riporta ogni passo
✓ / ! / ✗.
Log dei demoni:
sudo journalctl -u postfix -n 100 --no-pager
sudo journalctl -u dovecot -n 100 --no-pager
sudo journalctl -u rspamd -n 100 --no-pager
sudo journalctl -u missus -n 100 --no-pager
Per debug del flusso mail, segui /var/log/mail.log
mentre invii un messaggio di test. Il queue ID di Postfix ti
permette di greppare tutto il percorso attraverso smtpd,
cleanup, qmgr, smtp.
Se devi rifare missus da zero:
apt purge missus di proposito non
cancella /srv/missus/. Maildir e chiavi DKIM
sono dati utente — anche le purge a cascata da rimozione di
pacchetti non collegati lasciano i tuoi dati intatti. Per
cancellare davvero, rimuovi le directory a mano —
sudo rm -rf /srv/missus /etc/missus — è
un'azione esplicita e deliberata che devi prendere tu.