Я довольно хорошо разбираюсь в использовании header_checks / mime_header_checks для отказа от почты smtp в Postfix, но теперь я думаю, что сошел с пути праведности; Я пытаюсь найти способ отказаться от сообщения, если оно не содержат один из следующих заголовков:
Если это не очевидно, предполагается, что MTA должен принимать только почту, зашифрованную или подписанную с использованием S / MIME. Я знаю, что могу обработать, а затем отбросить его после принятия (это «стандартный» способ обработки ошибок, согласно Direct Project), но если есть способ, которым я могу отклонить его 5xx до того, как он зайдет так далеко, то это на по крайней мере, один возможный случай, который не должен исчезнуть в черной дыре.
Мой google-fu подвел меня в этом - я получаю много-много результатов при отклонении, но ничего не при требовании определенных заголовков. Так что либо это невозможно сделать, и я свистю по ветру, либо мои поисковые запросы просто не соответствуют тому, что им нужно.
Нет ты не можешь
Ссылка:
postfix header_checks работают с одним заголовком за раз. поэтому нет способа создать правило, которое работает для всех заголовков. и, в частности, нет способа указать правило, которое говорит, что «$ header не существует».
Как описано в документации, header_checks принимает решение по одному заголовку за раз и не запоминает решения от одного заголовка к другому.
Предлагаю вам исправить проблему в программе, которая создает сообщение.
Если вам необходимо исправить это в Postfix, вам необходимо использовать внешний фильтр содержимого (http://www.postfix.org/FILTER_README.html) или приложение Milter (http://www.postfix.org/MILTER_README.html).