У меня есть постфиксный сервер, на котором запущены amavis и SpamAssassin для фильтрации спама. Сообщения, которые определяются как спам, выглядят следующим образом при доставке в Maildir пользователя:
От Tom @ Tom-Mint Пт 15 марта 01:46:20 2013 Обратный путь: <tom @ tom-mint> X-Original-To: tom@my-server.com Доставлено-To: tom@my-server.com X-Virus-Scanned: Debian amavisd-new на my-server.com X-Spam-Flag: ДА X-Spam-Score: 6,463 X-Spam-Level: ****** X-Spam-Status: Да, оценка = 6,463 tagged_above = 2 требуется = 6,31 тесты = [DRUGS_ERECTILE = 2,221, FH_FROMEML_NOTLD = 0,18, FSL_HELO_NON_FQDN_1 = 0,001, HELO_NO_DOMAIN = 0,001, RCVD_IN_PBL = 3,558, RDNS_DYNAMIC = 0,363, TO_NO_BRKTS_DYNIP = 0,139] autolearn = нет Дата: пятница, 15 марта 2013 г. 01:46:19 -0400 To: tom@my-server.com Тема: *** СПАМ *** привет Пользователь-агент: фамильная почта mailx 12.5 20/20/10 Тип контента: текстовый / простой; Charset = US-ASCII От: Том @ Том-Минт (Том) Статус: RO купить виагру!
Обратите особое внимание на тему, с которой предшествует ***SPAM***
, и X-Spam-Flag: YES
заголовок.
Какой лучший способ настроить postfix
хранение этих сообщений в специальной папке нежелательной почты?
Судя по моим исследованиям, мне кажется, что для этого мне нужно будет использовать другой инструмент доставки почты, чем postfix, но я не уверен, какой подход лучше. Кажется, есть много устаревшей информации, и мне интересно, способен ли postfix помещать сообщения в папку или нет.
Почтовые каталоги - это все Maildir.
Ответы:
При беглом прочтении справочной страницы local (8) локального агента доставки postfix не видно ни намека на этот тип возможностей - как и ожидалось. Задачи такого типа обычно выгружаются в procmail (возможно, через директиву mailbox_command), которая может справиться с задачей, которую вы описываете, управляя раковиной на стороне. Недостатком procmail является формат файла конфигурации, а также гибкость и множество примеров, которые легко найти. Если что-то лучше, чем procmail недавно появился, я не знаю.
Однако за мои деньги, даже если бы я нашел способ заставить MTA делать то, что ты хочешь, я бы не пошел по этому пути, потому что у такого рода сортировки почты есть способ взбалтывать и не иметь MTA (о чем я знаю: возможно, обмен делает, кто знает) может сделать хорошую работу, будучи гибким обработчиком сообщений / агентом доставки.
Это рецепт procmail, который будет делать то, что вы хотите, основываясь на содержимом единственного заголовка (где DEFAULT - каталог доставки, часто что-то вроде $ HOME / Mail /):
Редактировать: (Предполагается, что формат почтового ящика maildir, как отмечено в комментарии ниже. Пропустить последний слеш при использовании mbox)
источник
$DEFAULT/
не обязательно. Полезно для удобства чтения. Также обратите внимание, что добавление косой черты в конце создаст Maildir, при использовании Mbox затем опустите косую черту (см .: unix.stackexchange.com/a/132658/241396 ).Как сказал Alien Life Form, это работа для procmail. Это не замена для локального агента доставки почтового сервера; это отдельный процесс, который будет вызван после того, как MDA выполнит свою работу.
Каждый пользователь, который хочет, чтобы procmail сортировал свою почту, должен будет создать файл с именем
.forward
в своем домашнем каталоге. Этот файл должен содержать следующее:в комплекте со
"
знаком и все.ALF уже опубликовал основной
.procmail
файл, который будет сортировать почту, помеченную спамом, в отдельную папку.источник
which procmail
Какой у вас агент доставки почты (см. Main.cf mailbox_command)? Если MDA является dovecot, он поддерживает стандарт Sieve IETF (rfc5228), который может сделать намного больше, чем procmail, не открывая возможные дыры в безопасности. НЕ связывайте procmail с postfix / dovecot, сито полностью интегрировано. Если вы используете Courier, тогда procmail - правильное решение. Тем не менее, вы найдете программы Sieve / Sievec от Pigeonhole, которые будут быстрее и чище.
Ниже приведен простой скрипт-сито для распознавания вашего спам-заголовка и помещения сообщения в корзину.
источник