Надішліть спам-пошту до спеціальної папки за допомогою Postfix


9

У мене є сервер Postfix, на якому працюють amavis та SpamAssassin, щоб допомогти фільтрувати спам. Повідомлення, виявлені як спам, виглядають так, коли вони доставлені в Maildir користувача:

Від tom @ tom-mint пт. 15 березня 01:46:20 2013
Повернення-Шлях: <tom @ tom-mint>
X-Original-To: tom@my-server.com
Доставлено-До: tom@my-server.com
X-Virus-Scan: Debian amavisd-new на my-server.com
X-Спам-Прапор: ТАК
X-спам-оцінка: 6.463
Рівень X-спаму: ******
X-Spam-Status: Так, оцінка = 6.463 з тегом_ вище = 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,555,
    RDNS_DYNAMIC = 0,363, TO_NO_BRKTS_DYNIP = 0,139] autolearn = ні
Дата: Пт, 15 березня 2013 01:46:19 -0400
На адресу: tom@my-server.com
Тема: *** СПАМ *** привіт
Користувач-агент: Heirloom mailx 12.5 6/20/10
Тип вмісту: текст / звичайний; charset = us-ascii
Від: tom @ tom-mint (Том)
Статус: RO

купіть трохи віагри!

Зазначте конкретно тему, на яку попередньо ***SPAM***, і X-Spam-Flag: YESзаголовок.

Який найкращий спосіб налаштувати postfixзберігання цих повідомлень у спеціальній папці зі сміттям?

З мого дослідження, здається, мені потрібно буде використовувати інший інструмент доставки пошти, ніж постфікс, щоб досягти цього, але я не впевнений, який підхід найкращий. Здається, є багато датованої інформації, і мені цікаво, чи здатний постфікс поміщати повідомлення в папку чи ні.

Усі поштові каталоги - Maildir.


Схоже, може знадобитися використовувати щось на кшталт eildrop . Я все ще шукаю спосіб зробити це з MDA Postfix за замовчуванням, щоб я міг зберігати псевдоніми та інші функції постфікса з мінімальними проблемами. Я опублікую свою відповідь, коли придумаю.
Том Мартенал

Відповіді:


8

Короткий перегляд локальної (8) місцевої сторінки місцевого агента доставки поштового коду не показує жодного натяку на цей тип можливостей - як очікувалося. Цей вид завдань, як правило, завантажується на розсилку (можливо, через директиву mailbox_command), яка може впоратися з описаним вами завданням, керуючи кухонною раковиною збоку. Недоліком procmail є формат конфігураційного файлу, гнучкість і безліч прикладів, які легко знайти. Якщо нещодавно краще, ніж Procmail з'явилося нещодавно, я не знаю.

Хоча за мої гроші, навіть якщо я знайшов спосіб підключити МТА, виконуючи те, що ви хочете, я б не пішов за цією дорогою, тому що такі сортування пошти мають шлях на кулю та не MTA (про що я знаю: можливо, обмін, хто знає) може зробити гарну роботу і в тому, щоб бути гнучким обробником повідомлень / агентом доставки.

Це рецепт протоколу, який би робив те, що ви хочете, базуючись на вмісті єдиного заголовка (де DEFAULT - каталог доставки, часто щось на зразок $ HOME / Mail /):

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

Редагувати: (Це передбачає формат поштової скриньки maildir, як зазначено в коментарі нижче. Пропустіть остаточну косу рису, якщо використовується mbox)


$DEFAULT/не потрібно. Корисний для людської читабельності. Також зауважте, що додавання косої риски в кінці створить Maildir, якщо за допомогою Mbox тоді пропустіть косу рису (див.: Unix.stackexchange.com/a/132658/241396 ).
Ярі

5

Як сказала Форма життя інопланетян, це робота для прокламації. Це не є заміною місцевого агента доставки поштового сервера; це окремий процес, який буде викликаний після того, як MDA виконає свою роботу.

Кожному користувачеві, який хоче прокламати сортування пошти, потрібно створити файл, який називається .forwardу домашній директорії. Цей файл повинен містити наступне:

"|exec /usr/local/bin/procmail || exit 75"

доповнити "знаком і все.

ALF вже опублікував базовий .procmailфайл, який буде сортувати пошту, позначену спамом, в окрему папку.


1
Зауважте, що в деяких випадках procmail живе за адресою / usr / bin / procmail, щоб з’ясувати, де він знаходиться у вашій системіwhich procmail
Malfist

4

Який ваш агент доставки пошти (див. Main.cf mailbox_command)? Якщо MDA є голубкою, він підтримує стандарт IETF Sieve (rfc5228), який може зробити набагато більше, ніж прокручувати, не виставляючи можливих отворів у безпеці. НЕ затягуйте болт при procmail на postfix / dovecot, решето повністю інтегровано. Якщо ви використовуєте Courier, то procmail - це нормальне рішення. Однак ви знайдете, що програми сита / sievec від Pigeonhole будуть швидшими та чистішими.

Нижче наводиться простий скрипт для просіювання, щоб розпізнати заголовок спаму та помістити повідомлення у файл кошика.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.