Je vais réécrire votre question devenue:
Comment puis-je utiliser différents _header_checks pour smtpd (port 25) et soumission (port 587)?
Ce problème canonique peut être divisé avec plusieurs conditions
- Je veux désactiver header_checks pour l'un des smtpd ou soumission.
- Je veux exécuter différents header_checks pour smtpd et soumission.
1. Je veux désactiver header_checks pour l'un des smtpd ou soumission.
Pour l'exemple, je suppose que vous souhaitez désactiver les header_checks pour la soumission (e-mail sortant) .
Solution 1: méthode receive_override_options
Vous pouvez utiliser le paramètre postfix appelé receive_override_options . Avec le paramètre, vous pouvez remplacer le commutateur global header_check, afin que le filtre ne s'exécute pas. # main.cf header_checks = pcre: / chemin / vers / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Avertissements: cela désactivera TOUS les _header_checks et body_checks définis dans man 5 header_checks . Pour le contrôle terminé, quel paramètre sera désactivé, voir Solution 2.
Solution 2: méthode de service de nettoyage multiple
Nous pouvons utiliser plusieurs techniques de nettoyage pour votre problème, comme cela a *_header_checks
été effectué par le service de nettoyage . Vous pouvez voir l'exemple de cette configuration dans le tutoriel amavisd-new .
Le paramètre magique pour cette configuration est cleanup_service_name . Avec ce paramètre, nous pouvons utiliser un service de nettoyage différent pour chaque processus smtpd. D'abord, nous définissons un service de nettoyage supplémentaire (appelé no-headerchecks) dans master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
Dans ce nettoyage, nous définissons des mime_header_checks vides pour désactiver le filtrage. La dernière étape consiste à dire au service de soumission d'utiliser nos contrôles sans en-tête
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Je veux exécuter différents header_checks pour smtpd et soumission.
Pour ce problème, vous pouvez utiliser plusieurs méthodes de service de nettoyage comme décrit ci-dessus.
D'abord, nous définissons un service de nettoyage supplémentaire (appelé second-headerchecks) dans master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
Dans ce nettoyage, nous définissons les deuxièmes mime_header_checks à une autre table PCRE. La dernière étape consiste à dire au service de soumission d'utiliser nos vérifications de deuxième en-tête
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Remarque:
Votre cas ressemble à cette question . Malheureusement, la réponse de Laurentiu Roescu ne fonctionne que si vous souhaitez activer header_checks pour le courrier sortant qui utilise smtp comme transport. La bonne nouvelle est que sa première phrase sur le cleanup
démon nous donne une idée de deuxième solution.
Plusieurs méthodes de service de nettoyage peuvent être appliquées si vous souhaitez que différents header_checks, body_checks et autres paramètres définis dans man 5 header_checks
.