Я пытаюсь ОТКАЗАТЬ электронное письмо с определенной фразой в SUBJECT (например, "предел квоты") с помощью Postix 2.9.6. Следуя документации postfix, я понял, что postfix обрабатывает эту информацию, проверяя заголовок. Так header_checks - это атрибут, предназначенный для проверки заголовков в электронном письме. Зная это, я добавил эту строку в свой main.cf файл:
header_checks = regexp:/etc/postfix/acl/header_checks/regexp
и regexp: / etc / postfix / acl / header_checks / regexp fle содержит:
/^Subject.*quota limit.*/ REJECT "SPAM ID:HeaderChecks01 Possible SPAM"
После этого я подтвердил настройку, используя (см. предел квоты в теме):
postmap -q "Subject:squota limitjk" regexp:/etc/postfix/acl/header_checks/regexp
и я получил:
REJECT "SPAM ID:HeaderChecks01 Possible SPAM"
Оно работает!! Любое сообщение с этим предел квоты фраза в теме должна быть автоматически ОТКЛОНЕН. Дело в том это не. Затем я проверил официальную документацию по postfix относительно header_checks здесь: header_checks . Видно я все делаю правильно. Почему это не работает ?? Прежде чем опубликовать это, я заметил, что на этом замечательном сайте есть предыдущие вопросы (serverfault) относительно этой самой проблемы и все они без точного ответа. Вы можете проверить их здесь: Postfix header_checks не работает и Postifx header_checks не работает
Для более близкого примера я скопировал в локальный файл кусок простого текста из реального (не включая реальный домен) СПАМ-сообщения и выполнил ту же проверку postmap -q и получил тот же результат. Так что, похоже, это вообще не проблема с регулярным выражением. Текст такой (см. предел квоты в теме):
Reply-To: j.p.monfort.accomplish.delivery@timetelegram.info
Message-ID: <0f12fc934ada9939316f6986001319ff@timetelegram.us>
From: "ACCOMPLISH DELIVERY"
<j.p.monfort.accomplish.delivery@timetelegram.us>
To: <ielena@udomain.com>
Subject:=?windows-1252?Q?A_Spequota limitiversi_Aria_Pro._cia?=
<asdqtext to fill>
И последнее, но не менее важное: я пытался изменить header_checks по smtp_header_checks, mime_header_checks, smtp_mime_header_checks, milter_header_checks и даже nested_header_checks (на всякий случай) и ничего не получил. Я также проверил параметр receive_override_options в файле master.cf и не смог его найти, поэтому не было переопределения header_checks.
Указать на то: Ниже header_checkу меня есть smtp_body_checks и любое электронное письмо с фразой "ограничение квоты" на самом деле отклоняется без каких-либо проблем. Это только этот атрибут как таковой.
Правильное решение моего сообщения находится здесь: -o receive_override_options = no_header_body_checks
Я только что добавил строчку -o receive_override_options = no_header_body_checks в мой файл master.cf без комментария и вуаля. Пока я делал то, что хотел вначале. Думаю, весь этот пост следует удалить или пометить как дублированный.