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_checks
solo 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_checks
exclusivamente 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.cf
podrí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_checks
opción al nuevo servicio de limpieza. Esa parte de /etc/postfix/master.cf
podrí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_header
configurado.
Si smtpd_sasl_authenticated_header
es 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
?