Postfix: bloccare l’invio email verso un determinato indirizzo (root)

| |

Solita storia: errore da principiante quale sono con Postfix, ci ho perso del tempo e pubblico la soluzione già pronta per il me del futuro o per qualsiasi altra persona si trovi nella medesima difficoltà.
Mi sono accorto che la macchina che si occupa quotidianamente della maggior parte delle operazioni programmate aveva cominciato ad avere una coda di posta elettronica da smarcare / consegnare fin troppo nutrita, generando così un bel dito medio da parte del mio server SMTP esterno dal quale faccio poi passare le comunicazioni per arrivare a destinazione alla mia casella di posta.

Postfix: bloccare l'invio email verso un determinato indirizzo (root) 1

Dando uno sguardo rapido alla coda e prendendo a campione delle email (aprendole con il comando postcat -q $ID dove $ID è proprio il Queue ID della singola email) mi sono accorto che si trattava degli output interni, quelli che vengono mandati dalla macchina a sé stessa, verso l’account di root. Sono per me completamente inutili e possono essere scartati, guadagnandone in “rumore evitato” e soprattutto limite non raggiunto sulla casella che mi fa da “ponte SMTP“.

Configurazione di Postfix

La soluzione è stata semplice (una volta trovata quella buona) e si frappone tra la ricezione in pancia dell’email e l’invio verso l’indirizzo di root. Generalmente in documentazione e sul web si trovano tanti riferimenti a come bloccare le email in ingresso da determinati utenti e scartarle, un pelo “meno usato” è invece il metodo applicato alle regole di trasporto che scartano l’email direttamente all’origine.

La prima modifica va fatta sul main.cf di Postfix:

sudo nano /etc/postfix/main.cf

Quello che ti serve è introdurre l’utilizzo delle regole di trasporto e per farlo ti basterà specificare questa stringa all’interno di quelle già contenute nel file:

transport_maps = hash:/etc/postfix/transport

Io l’ho inserita subito dopo quelle relative ad alias_maps e alias_database, per capirci:

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
transport_maps = hash:/etc/postfix/transport

Salva il file di configurazione ed esci (CTRL + S seguito da CTRL + X da tastiera).

Crea o modifica ora il contenuto del file transport (sudo nano /etc/postfix/transport) e inserisci al suo interno la regola che si occuperà di scartare le email indirizzate all’utente di root della macchina locale:

# silently discard a single address
root@localhost discard

# silently discard an entire domain
# example.net discard

Ho volutamente lasciato (commentata) la regole che permette di bloccare un intero dominio perché potrebbe sempre tornarti utile, ma in questo specifico caso (e per la mia esigenza) basta e avanza quella che scarta (discard) le email che hanno come destinatario root@localhost.

Salva il file e chiudilo. Ora dallo in pasto a Postfix generando il file di database:

sudo postmap hash:/etc/postfix/transport

Tecnicamente dovresti essere già pronto per (ri)partire. Riavvia il servizio di Postfix con sudo systemctl restart postfix oppure ricarica semplicemente la configurazione con sudo postfix reload.

Pulisci e tieni d’occhio la coda

Per dare un senso a tutto questo dovrai prima pulire la coda delle email ferme per qualsivoglia errore, lancia un sudo postsuper -d ALL e poi – dopo qualche minuto – un mailq per accertarti che la coda rimanga realmente vuota.

#KeepItSimple


Grazie a:
serverfault.com/a/912455/254905

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco. Uno spazio del blog riservato agli articoli "a bruciapelo"!
Se vuoi leggere le altre pillole fai clic qui.

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Inline Feedbacks
View all comments