Przepiszę twoje pytanie:
Jak mogę używać różnych _header_checks dla smtpd (port 25) i przesyłania (port 587)?
Ten problem kanoniczny można podzielić na kilka warunków
- Chcę wyłączyć head_checks dla jednego z smtpd lub przesyłania.
- Chcę uruchamiać różne nagłówki nagłówka dla smtpd i przesyłania.
1. Chcę wyłączyć head_checks dla jednego z smtpd lub przesyłania.
W tym przykładzie zakładam, że chcesz wyłączyć sprawdzanie nagłówka dla wysyłania (wychodząca wiadomość e-mail) .
Rozwiązanie 1: Metoda receive_override_options
Możesz użyć parametru Postfix o nazwie receive_override_options . Za pomocą parametru można zastąpić globalny przełącznik wyboru nagłówka, aby filtr nie działał. # main.cf header_checks = pcre: / path / to / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Ostrzeżenia: spowoduje to wyłączenie WSZYSTKICH __główek_kontroli i body_kontroli zdefiniowanych w man 5 nagłówków_kontrolach . Aby uzyskać pełną kontrolę, który parametr zostanie wyłączony, zobacz Rozwiązanie 2.
Rozwiązanie 2: Metoda wielu usług czyszczenia
Możemy zastosować technikę wielokrotnego czyszczenia dla twojego problemu, tak jak *_header_checks
została wykonana przez usługę czyszczenia . Możesz zobaczyć przykład tej konfiguracji w samouczku amavisd-new .
Magicznym parametrem dla tej konfiguracji jest cleanup_service_name . Za pomocą tego parametru możemy użyć innej usługi czyszczenia dla każdego procesu smtpd. Najpierw definiujemy jedną dodatkową usługę czyszczenia (zwaną bez kontroli nagłówków) w master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
W tym czyszczeniu definiujemy puste kontrolki mime_header_checks, aby wyłączyć filtrowanie. Ostatnim krokiem jest poinformowanie usługi przesyłania o skorzystaniu z naszych kontroli braku nagłówka
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Chcę uruchomić różne nagłówki nagłówka dla smtpd i przesyłania.
W przypadku tego problemu można użyć wielu metod usługi czyszczenia, jak opisano powyżej.
Najpierw definiujemy jedną dodatkową usługę czyszczenia (zwaną drugą kontrolą nagłówków) w master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
W tym czyszczeniu definiujemy drugie kontrole mime_header_check do innej tabeli PCRE. Ostatnim krokiem jest poinformowanie usługi przesyłania o skorzystaniu z naszych drugiej kontroli nagłówków
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Uwaga:
Twoja sprawa wygląda podobnie z tym pytaniem . Niestety odpowiedź Laurentiu Roescu działa tylko wtedy, gdy chcesz włączyć nagłówki dla wiadomości wychodzących, które używają smtp jako transportu. Dobra wiadomość jest taka, że jego pierwsze zdanie na temat cleanup
demona daje nam pomysł na drugie rozwiązanie.
Można zastosować wiele metod usługi czyszczenia, jeśli chcesz zdefiniować różne nagłówki, body_checks i inne parametry man 5 header_checks
.