Postfix MX · 3 min read · Sep 30, 2025

Impostare Postfix come Backup MX

In questo tutorial, mostrerò come puoi impostare un server di posta Postfix come scambiatore di posta di backup per un dominio in modo che accetti le email per questo dominio nel caso in cui lo scambiatore di posta primario sia inattivo o irraggiungibile e inoltri le email allo MX primario una volta che questo è di nuovo attivo.

1 Nota Preliminare

Voglio impostare un MX di backup per il dominio example.com. In questo esempio, l’MX primario per example.com si chiama mx1.example.com (indirizzo IP 1.2.3.4), quindi chiamo l’MX di backup mx2.example.com (indirizzo IP 1.2.3.5).

Ho creato record MX per example.com che sembrano così:

example.com.               86400   IN      MX      10 mx1.example.com. example.com.               86400   IN      MX      20 mx2.example.com.

È importante che l’MX primario abbia un numero più basso (10) e quindi una priorità più alta rispetto all’MX di backup (20).

Presumo che Postfix su mx2.example.com sia già installato e funzionante.

2 Configurare Postfix su mx2.example.com

Per rendere mx2.example.com un MX di backup per il dominio example.com, tutto ciò che dobbiamo fare è cambiare/aggiungere tre righe a /etc/postfix/main.cf:

nano /etc/postfix/main.cf

Prima assicurati che smtpd_recipient_restrictions contenga permit_mynetworks e reject_unauth_destination, quindi qualcosa del genere andrà bene:

[...] smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination [...]

Poi dobbiamo aggiungere example.com al parametro relay_domains; se non c’è ancora un parametro relay_domains in /etc/postfix/main.cf, il seguente andrà bene:

[...] relay_domains = $mydestination, example.com [...]

E infine aggiungiamo un parametro relay_recipient_maps vuoto a /etc/postfix/main.cf:

[...] relay_recipient_maps = [...]

(In questo modo non dobbiamo specificare un elenco di indirizzi email validi da salvare, il che potrebbe essere un compito arduo se devi gestire centinaia di account email.)

C’è una cosa importante che devo aggiungere: non devi elencare example.com nei seguenti parametri in /etc/postfix/main.cf:

  • mydestination
  • virtual_alias_domains
  • virtual_mailbox_domains

Ecco fatto. Tutto ciò che dobbiamo fare ora è riavviare Postfix:

service postfix restart

3 Testare

Per testare il nuovo MX di backup, spegniamo l’MTA (Postfix, Sendmail, Exim, ecc.) su mx1.example.com e inviamo un’email da un server remoto a un account example.com (ad es. [email protected]).

Se hai accesso al log della posta sul server remoto (di invio), dovresti ora trovare qualcosa del genere:

Jun 6 18:29:16 mail postfix/smtp[17746]: AF814144146: to=<[email protected]>, relay=mx2.example.com[1.2.3.5], delay=1, status=sent (250 2.0.0 Ok: queued as DCA5A1BF40F)

Come vedi, l’email è stata inviata a mx2.example.com invece di mx1.example.com perché mx1.example.com è irraggiungibile. Ora, diamo un’occhiata al log della posta di mx2.example.com:

Jun 6 18:29:16 mx2 postfix/qmgr[3049]: DCA5A1BF40F: from=<[email protected]>, size=892, nrcpt=1 (queue active) Jun 6 18:29:16 mx2 postfix/smtpd[3051]: disconnect from mail.blabla.tld[1.2.3.6] Jun 6 18:29:16 mx2 postfix/smtp[3057]: connect to mx1.test1.de[1.2.3.4]: Connection refused (port 25) Jun 6 18:29:16 mx2 postfix/smtp[3057]: DCA5A1BF40F: to=<[email protected]>, relay=none, delay=0.07, delays=0.03/0.02/0.01/0, dsn=4.4.1, status=deferred (connect to mx1.test1.de[1.2.3.4]: Connection refused)

mx2.example.com ha accettato l’email e ha tentato di connettersi a mx1.example.com per consegnarla all’MX primario. Poiché l’MX primario è inattivo, mx2.example.com non può consegnare l’email e la mantiene nella coda della posta fino a quando mx1.example.com non è di nuovo disponibile.

Ora riavviamo l’MTA su mx1.example.com. L’MX di backup non consegnerà immediatamente l’email in coda, ma dopo alcuni minuti dovresti vedere qualcosa del genere nel log della posta di mx2.example.com:

Jun 6 18:56:44 mx2 postfix/qmgr[3080]: DCA5A1BF40F: from=<[email protected]>, size=892, nrcpt=1 (queue active) Jun 6 18:56:45 mx2 postfix/smtp[3083]: DCA5A1BF40F: to=<[email protected]>, relay=mx1.example.com[1.2.3.4]:25, delay=1648, delays=1648/0.09/0.4/0.12, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 167995B0109)

L’email è stata consegnata all’MX primario dove puoi vedere questo nel log della posta:

Jun 6 18:56:45 mx1 postfix/local[4963]: 167995B0109: to=<[email protected]>, orig_to=<[email protected]>, relay=local, delay=0.54, delays=0.08/0.02/0/0.43, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail -f-)

Quindi nessuna email è andata persa mentre mx1.example.com era inattivo, e gli utenti possono continuare a recuperare le loro email da mx1.example.com.

4 Link

Share: X/Twitter LinkedIn

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.