Reescribiré tu pregunta y conviértete en:
¿Cómo puedo usar diferentes _header_checks para smtpd (puerto 25) y envío (puerto 587)?
Este problema canónico se puede dividir con varias condiciones.
- Quiero desactivar header_checks para uno de smtpd o envío.
- Quiero ejecutar diferentes header_checks para smtpd y envío.
1. Quiero desactivar header_checks para uno de smtpd o envío.
Para el ejemplo, supongo que desea desactivar el header_checks para el envío (correo electrónico saliente) .
Solución 1: método Receive_override_options
Puede usar el parámetro postfix denominado Receive_override_options . Con el parámetro, puede anular el modificador global header_check para que el filtro no se ejecute. # main.cf header_checks = pcre: / path / to / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Advertencias: esto desactivará TODOS _header_checks y body_checks definidos en man 5 header_checks . Para el control completo sobre qué parámetro se desactivará, consulte la Solución 2.
Solución 2: método de servicio de limpieza múltiple
Podemos realizar una técnica de servicio de limpieza múltiple para su problema tal como *_header_checks
lo realizó el servicio de limpieza . Puede ver el ejemplo de esta configuración en un tutorial nuevo de amavisd .
El parámetro mágico para esta configuración es cleanup_service_name . Con este parámetro, podemos usar diferentes servicios de limpieza para cada proceso smtpd. Primero definimos un servicio de limpieza adicional (llamado no-headerchecks) en master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
En esta limpieza, definimos mime_header_checks vacíos para deshabilitar el filtrado. El último paso es decirle al servicio de envío que use nuestras comprobaciones sin encabezado
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Quiero ejecutar diferentes header_checks para smtpd y envío.
Para este problema, puede utilizar el método de servicio de limpieza múltiple como se describe anteriormente.
Primero definimos un servicio de limpieza adicional (llamado second-headerchecks) en master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
En esta limpieza, definimos el segundo mime_header_checks para otra tabla PCRE. El último paso es indicarle al servicio de envío que use nuestras segundas verificaciones de encabezado
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Nota:
Su caso se ve similar con esta pregunta . Lamentablemente, la respuesta de Laurentiu Roescu solo funciona si desea habilitar header_checks para el correo saliente que utiliza smtp como transporte. La buena noticia es que su primera oración sobre cleanup
Daemon nos da una idea para la segunda solución.
Se pueden aplicar varios métodos de servicio de limpieza si desea diferentes encabezados_checks, body_checks y otros parámetros definidos man 5 header_checks
.