La soluzione standard è utilizzare l' opzione header_checks . Questa volontà di lavoro, le intestazioni tuttavia, se abbiamo ricevuto filtro linee su tutta la posta sia in entrata che in uscita (come questo farà), potremmo potenzialmente perdere ricevuti sulla posta elettronica inviati a noi, che può essere importante per la risoluzione dei problemi. Per ovviare a questo problema, si applicherà il header_checkssolo per la posta che potrebbe forse non sono stati inviati a noi-mail che è stato inviato alla presentazione di porta (che si sta utilizzando la porta di presentazione , non è vero? ).
Questo post spiega come applicare header_checksesclusivamente alla porta di invio. Quello che dobbiamo fare è passare l' opzione cleanup_service_name al servizio di invio in modo che possiamo impostare un nuovo servizio di pulizia, "subcleanup". La sezione pertinente di /etc/postfix/master.cfpotrebbe apparire così:
submission inet n - - - - smtpd
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING
-o cleanup_service_name=subcleanup
Ora possiamo passare l' header_checksopzione al nuovo servizio di pulizia. Quella parte di /etc/postfix/master.cfpotrebbe assomigliare a questa:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Infine, dobbiamo creare il file /etc/postfix/submission_header_checks, che conterrà la regex che filtra offendendo le righe di intestazione Ricevute. Quale regex hai inserito nel file dipende se hai smtpd_sasl_authenticated_headerimpostato.
Se smtpd_sasl_authenticated_headerè yes, quindi utilizzare:
/^Received:.*\(Authenticated sender:/ IGNORE
Altrimenti, utilizzare:
/^Received:.*\(Postfix/ IGNORE
(Grazie a Dominic P e Bryan Drewery per aver mostrato come gestire il secondo caso.)
postmap submission_header_checks?