Як заблокувати вкладення до вхідних листів лише за допомогою Postfix?


9

У мене поштовий сервер (CentOS 6.5), на якому працюють Postfix та Dovecot

Postfix прослуховується на порту 25 для вхідної пошти та 587 для вихідної пошти

Проблема полягає у тому, що вихідна пошта із вкладеннями у форматі PDF блокується там, де я хочу лише вхідну пошту із вкладеними файлами у форматі PDF.

У мене є така конфігураційна лінія в main.cf

 mime_header_checks = regexp:/etc/postfix/blocked_attachments

Файл заблокованого_настройки містить:

/name=[^>]*\.(pdf|zip)/ REJECT

Таким чином, вхідна пошта з вкладенням у форматі PDF заблокована, але коли я складаю електронний лист із PDF, який також блокується, коли я намагаюся надсилати.

Як я можу сказати постфіксу, що я хочу лише відфільтровані вкладені вкладення? Або я щось пропустив?

Відповіді:


7

Я перепишу ваше запитання:

Як я можу використовувати різні _header_checks для smtpd (порт 25) та подання (порт 587)?

Цю канонічну проблему можна розділити кількома умовами

  1. Я хочу вимкнути заголовок_проверки для одного з smtpd або подання.
  2. Я хочу запустити різні заголовки_схеми для 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.