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_checks
solo 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_checks
esclusivamente 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.cf
potrebbe 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_checks
opzione al nuovo servizio di pulizia. Quella parte di /etc/postfix/master.cf
potrebbe 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_header
impostato.
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
?