La solución estándar es usar la opción header_checks . Esta voluntad de trabajo, encabezados sin embargo, si filtrásemos líneas recibidas en todo el correo entrante y saliente (ya que esto va a hacer), podríamos potencialmente perder recibido el correo enviado a nosotros, que pueden ser importantes para la solución de problemas. Para solucionar este problema, aplicaremos header_checkssolo el correo que posiblemente no se nos haya enviado: el correo que se envió al puerto de envío ( está utilizando el puerto de envío , ¿no es así? ).
Esta publicación explica cómo aplicar header_checksexclusivamente al puerto de envío. Lo que debemos hacer es pasar la opción cleanup_service_name al servicio de envío para que podamos configurar un nuevo servicio de limpieza, "subcleanup". La sección relevante de /etc/postfix/master.cfpodría verse así:
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
Ahora podemos pasar la header_checksopción al nuevo servicio de limpieza. Esa parte de /etc/postfix/master.cfpodría verse así:
cleanup unix n - - - 0 cleanup
subcleanup unix n - - - 0 cleanup
-o header_checks=regexp:/etc/postfix/submission_header_checks
Finalmente, necesitamos crear el archivo /etc/postfix/submission_header_checks, que contendrá la expresión regular que filtra las líneas de encabezado recibidas. La expresión regular que coloque en el archivo depende de si la ha smtpd_sasl_authenticated_headerconfigurado.
Si smtpd_sasl_authenticated_headeres así yes, use:
/^Received:.*\(Authenticated sender:/ IGNORE
De lo contrario, use:
/^Received:.*\(Postfix/ IGNORE
(Gracias a Dominic P y Bryan Drewery por mostrar cómo manejar el segundo caso).
postmap submission_header_checks?