Я перепишу ваше запитання:
Як я можу використовувати різні _header_checks для smtpd (порт 25) та подання (порт 587)?
Цю канонічну проблему можна розділити кількома умовами
- Я хочу вимкнути заголовок_проверки для одного з smtpd або подання.
- Я хочу запустити різні заголовки_схеми для smtpd та подання.
1. Я хочу вимкнути заголовок_проверки для одного з smtpd або подання.
Для прикладу я припускаю, що ви хочете вимкнути шапки заголовка для подання (вихідний лист) .
Рішення 1: метод get_override_options
Ви можете використовувати параметр postfix під назвою prima_override_options . За допомогою параметра ви можете змінити глобальний перемикач header_check, тому фільтр не запуститься. # main.cf header_checks = pcre: / шлях / до / header_checks
#master.cf
submission inet n - n - - smtpd
-o receive_override_options=no_header_body_checks
Застереження: це вимкне ВСІ _header_checks та body_checks, визначені у man 5 header_checks . Для завершеного управління, який параметр буде вимкнено, див. Рішення 2.
Рішення 2: Метод обслуговування кількох прибирань
Ми можемо використовувати техніку багаторазового очищення для вашої проблеми, як це *_header_checks
було виконано службою очищення . Ви можете побачити приклад цієї установки в amavisd-новому підручнику .
Магічний параметр для цієї конфігурації - cleanup_service_name . За допомогою цього параметра ми можемо використовувати різні послуги очищення для кожного smtpd-процесу. Спочатку ми визначаємо одну додаткову службу очищення (званий no-headerchecks) у master.cf
no-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=
У цій очищенні ми визначаємо порожні mime_header_checks для відключення фільтрації. Останній крок - скажіть службі подання заявок використовувати наші безголовні перевірки
submission inet n - n - - smtpd
-o cleanup_service_name=no-headerchecks
2. Я хочу запустити різні заголовки_схеми для smtpd та подання.
Для цієї проблеми можна скористатися декількома методами обслуговування очищення, як описано вище.
Спочатку ми визначаємо одну додаткову службу очищення (звану контрольними перевірками другого заголовка) у master.cf
second-headerchecks unix n - n - 0 cleanup
-o mime_header_checks=pcre:/path/to/2ndheaderchecks
У цьому очищенні ми визначаємо другу mime_header_checks для іншої таблиці PCRE. Останній крок - скажіть службі подання заявок використовувати наші другі заголовки
submission inet n - n - - smtpd
-o cleanup_service_name=second-headerchecks
Примітка:
Ваша справа схожа на це питання . На жаль, відповідь від Laurentiu Roescu працює лише в тому випадку, якщо ви хочете включити заголовок_checks для вихідної пошти, яка використовує smtp як транспорт. Хороша новина - його перше речення про cleanup
демона дає нам ідею для другого рішення.
Можна скористатися методом декількох служб очищення, якщо вам потрібні різні заголовки, перевірки, тіл та інші параметри, визначені в man 5 header_checks
.