Postfix · 7 min read · Sep 26, 2025
Come configurare messaggi di rimbalzo personalizzati in Postfix

Dal Postfix versione 2.3, Postfix supporta messaggi di rimbalzo personalizzati. Questa guida mostra come impostare messaggi di rimbalzo personalizzati in Postfix e la durata massima della coda.
1 Versione di Postfix
Prima di tutto, dovresti scoprire la tua versione di Postfix per assicurarti che supporti messaggi di rimbalzo personalizzati:
postconf -d | grep mail_versionserver2:~# postconf -d | grep mail_version
mail_version = 3.4.13
milter_macro_v = $mail_name $mail_version
server2:~#Se il tuo Postfix è 2.3 o più recente, allora sei a posto.
2 Imposta maximal_queue_lifetime e delay_warning_time
Da http://www.postfix.org/postconf.5.html:
maximal_queue_lifetime: Il tempo massimo in cui un messaggio è in coda prima di essere restituito come non consegnabile.
delay_warning_time: Il tempo dopo il quale il mittente riceve le intestazioni del messaggio di posta che è ancora in coda.
Il comando postconf -n mostra le impostazioni attualmente configurate in /etc/postfix/main.cf, mentre il comando postconf -d mostra le impostazioni predefinite che sono valide a meno che non venga impostato qualcos’altro in /etc/postfix/main.cf.
Per scoprire il valore attuale di maximal_queue_lifetime, puoi eseguire
postconf -d | grep maximal_queue_lifetime
postconf -n | grep maximal_queue_lifetimeSe postconf -n non visualizza nulla, questo significa che il valore di postconf -d è attualmente in uso:
server2:~# postconf -d | grep maximal_queue_lifetime
maximal_queue_lifetime = 5d
server2:~# postconf -n | grep maximal_queue_lifetime
server2:~#Lo stesso vale per delay_warning_time:
postconf -d | grep delay_warning_time
postconf -n | grep delay_warning_timeserver2:~# postconf -d | grep delay_warning_time
delay_warning_time = 0h
server2:~# postconf -n | grep delay_warning_time
server2:~#Se desideri modificare queste impostazioni, puoi utilizzare il comando postconf -e. Scriverà le impostazioni in /etc/postfix/main.cf, ad esempio in questo modo:
postconf -e 'maximal_queue_lifetime = 1d'
postconf -e 'delay_warning_time = 0h'Riavvia Postfix dopo:
service postfix restartIl motivo per cui ci interessano queste due impostazioni è che i loro valori possono essere utilizzati nei messaggi di rimbalzo personalizzati.
3 Crea un messaggio di rimbalzo personalizzato
Da http://www.postfix.org/bounce.5.html:
Il file di template può specificare template per posta non consegnata, posta in ritardo, consegna riuscita o per verifica dell’indirizzo. Questi template sono chiamati failure_template, delay_template, success_template e verify_template, rispettivamente. Puoi, ma non è necessario, specificare tutti e quattro i template in un file di template di rimbalzo.
Ogni template inizia con “template_name = <
Possiamo ora creare il file /etc/postfix/bounce.cf che contiene i template in questo modo (sto usando tutti e quattro i template qui, ma puoi omettere quelli di cui non hai bisogno). È assolutamente importante che il file termini con una riga vuota!
nano /etc/postfix/bounce.cf#
# Il template di errore viene utilizzato quando la posta viene restituita al mittente;
# o la destinazione ha rifiutato il messaggio, o la destinazione
# non è stata raggiunta prima che il messaggio scadesse nella coda.
#
failure_template = <
Se lo fai, ti preghiamo di includere questo rapporto di problema. Puoi
deliminare il tuo testo dal messaggio restituito allegato.
Il sistema di posta
EOF
#
# Il template di ritardo viene utilizzato quando la posta è in ritardo. Nota un trucco carino:
# il template predefinito visualizza il valore delay_warning_time come ore
# aggiungendo il suffisso _hours al nome del parametro; visualizza
# il valore maximal_queue_lifetime come giorni aggiungendo il suffisso _days.
#
# Altri suffissi sono: _seconds, _minutes, _weeks. Non ci sono altri
# parametri main.cf che hanno questo comportamento speciale.
#
# Devi regolare questi suffissi (e il testo circostante) se
# hai impostazioni molto diverse per questi parametri temporali.
#
delay_template = <
Se lo fai, ti preghiamo di includere questo rapporto di problema. Puoi
deliminare il tuo testo dal messaggio restituito allegato.
Il sistema di posta
EOF
#
# Il template di successo viene utilizzato quando la posta viene consegnata alla casella di posta,
# quando un alias o una lista viene espansa, o quando la posta viene consegnata a un
# sistema che non annuncia il supporto DSN. È un errore specificare
# un Postmaster-Subject: qui.
#
success_template = < Puoi personalizzare i messaggi a tuo piacimento. Nei messaggi, puoi usare tutte le variabili di main.cf (ad es. $myhostname). Se dai un’occhiata al delay_template, vedrai che uso le variabili aggiuntive $delay_warning_time_hours e $maximal_queue_lifetime_days. Potresti anche usare $delay_warning_time_seconds, $delay_warning_time_minutes, $delay_warning_time_days, $delay_warning_time_weeks rispettivamente $maximal_queue_lifetime_seconds, $maximal_queue_lifetime_minutes, $maximal_queue_lifetime_hours, $maximal_queue_lifetime_weeks, ma tieni presente quanto spiega http://www.postfix.org/bounce.5.html su queste variabili:
delay_warning_time_suffix: Si espande nel valore del parametro delay_warning_time, espresso nell’unità di tempo specificata da un suffisso, che è uno di secondi, minuti, ore, giorni o settimane.
maximal_queue_lifetime_suffix: Si espande nel valore del parametro maximal_queue_lifetime, espresso nell’unità di tempo specificata dal suffisso. Vedi sopra sotto delay_warning_time per i possibili valori dei suffissi.
Quindi, se usi la variabile $delay_warning_time_minutes invece di $delay_warning_time_hours nel tuo template, dovresti seguirla con la parola “minuti” invece di “ore”.
Successivamente, configuriamo Postfix per utilizzare i template personalizzati:
postconf -e 'bounce_template_file = /etc/postfix/bounce.cf'Per controllare come appaiono i template quando tutte le variabili sono sostituite con i loro valori reali, e per assicurarti che non ci siano errori nei tuoi template (ad es. una nuova riga mancante alla fine di /etc/postfix/bounce.cf), esegui:
postconf -b /etc/postfix/bounce.cfserver2:~# postconf -b /etc/postfix/bounce.cf
expanded_failure_text = <
Se lo fai, ti preghiamo di includere questo rapporto di problema. Puoi
deliminare il tuo testo dal messaggio restituito allegato.
Il sistema di posta
EOF
expanded_delay_text = <
Se lo fai, ti preghiamo di includere questo rapporto di problema. Puoi
deliminare il tuo testo dal messaggio restituito allegato.
Il sistema di posta
EOF
expanded_success_text = < Se non vengono mostrati errori, possiamo riavviare Postfix in modo che possa utilizzare i template personalizzati:
service postfix restart4 Link
- Pagina man di rimbalzo di Postfix: http://www.postfix.org/bounce.5.html
- Parametri di configurazione di Postfix: http://www.postfix.org/postconf.5.html
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.