Назад | Перейти на главную страницу

Mailscanner & Postfix: УДЕРЖИВАЙТЕ все, кроме сообщений с настраиваемым заголовком

Банкомат Я использую обычный метод, чтобы перевести все сообщения в состояние УДЕРЖАНИЯ, чтобы передать их из постфикса в MailScanner, как описано на http://www.mailscanner.info/postfix.html:

В файле конфигурации Postfix /etc/postfix/main.cf добавьте эту строку:

header_checks = regexp:/etc/postfix/header_checks 

В файле / etc / postfix / header_checks добавьте эту строку:

/^Received:/ HOLD 

Результатом этого является указание Postfix переместить все сообщения в очередь HOLD.

Но у меня есть SMTP-сообщение, которое мне не нужно передавать через MailScanner, сообщения, идентифицированные с помощью настраиваемого заголовка. Мне нужно найти способ обойти MailScanner для этих сообщений, но я не могу его найти, поскольку мне нужно проверить наличие настраиваемого заголовка, а не адреса From: или To: ...

Пробовал модифицировать / etc / postfix / header_checks:

/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025

в mail.log я вижу отфильтрованное сообщение:

Aug 19 17:52:17 servername postfix/cleanup[19423]: AFB842E33A: filter: header X-Custom-Header: from relay.sender.foo[xx.yy.zz.kk]; from=<sender@senderdomain.foo> to=<me@mydomain.foo> proto=ESMTP helo=<mail.sender.foo>: smtp:[ip.addr.next.hop]:10025

и если указанное выше является единственным правилом в header_checks, оно доставляется на следующий переход через smtp.

Теперь мне нужно поймать все остальное в Mailscanner (то есть в очереди Postfix HOLD), так как я могу сказать header_checks, чтобы это сделать? Если я оставлю / ^ Received: / проверю, даже AFB842E33A удерживается в очереди HOLD ...

Может быть, это просто глупый вопрос, но ... есть идеи?

Да есть даже выход. Это называется header_checks и является частью *_restrictions. Формат (в зависимости от того, что вы хотите) описывается отдельно. документация.

Но я не могу рекомендовать использовать фильтры после очереди, такие как Mailscanner и Spamassassin. Лучший способ уменьшить количество спама и проинформировать отправителя - это фильтры до очереди, такие как встроенный postscreen, client_restrictions, sender_restrictions, recipient_restrictions, фильтры до очереди и внешние инструменты, такие как policyd-weight.

Только фильтры до очереди уменьшают нагрузку и ресурсы на сервере и могут блокировать 80% всего спама еще до того, как они достигнут сервера. Mailscanner, в частности, находится в моем личном "списке ненависти", поскольку он имеет лишь ограниченную интеграцию с Postfix и не может использовать встроенные интерфейсы Postfix для фильтров и фильтров защиты от спама в целом.

редактировать: В связи с отредактированным вопросом я отвечу на него сейчас.

FILTER не является действием, которое мешает Postfix работать с header_checks-файл. Он только говорит: «Когда я закончу с проверками, я отфильтрую». И поэтому следующая строка соответствует и переводит почту в режим ожидания.

Решение (даже если оно выглядит испорченным) в следующем. header_checks-файл:

/^X-Custom-Header:/ FILTER smtp:[ip.addr.next.hop]:10025
/^X-Custom-Header:/ OK
/^Received:/ HOLD