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