Как работают приложения почтового фильтра для перемещения сообщений между почтовыми ящиками?

Я хочу создать спам-фильтр, аналогичный Boxtrapper, SpamArrest, Gafana и Boxbe. Мне нужно переместить сообщение в другую папку в зависимости от пользовательских правил. Я рассмотрел следующее, но не ясно, как указать Postfix для перемещения сообщения. Большинство протоколов фильтрации позволяют только принять или отклонить сообщение, без какой-либо возможности перемещать сообщения. Я видел, что Sieve позволяет обрабатывать правила для перемещения почты, но не позволяет запускать пользовательские программы.

Может быть, есть фоновый процесс, сканирующий почтовый ящик для отправки запроса/ответа? Кажется, что фильтр на основе ловушек был бы более эффективным, чем на основе опроса.


person Chloe    schedule 11.01.2017    source источник


Ответы (1)


Я использую плагин Sieve extprograms, чтобы мои скрипты Sieve могли вызывать пользовательскую программу. . Я использую эту функцию для уведомления по электронной почте через Growl:

if anyof (true)
{
        pipe :try :copy "growlmail";
}

Для классификации спама я использую Spamassassin в качестве postfix content_filter. Он переписывает строки темы спам-сообщений (что-то вроде ****SPAM(12.5)**** This One Weird Trick....). Затем у меня будет Sieve refile на основе этого:

if anyof (header :contains "Subject" "****SPAM")
{
        fileinto "spam";
        stop;
}
person Allen Luce    schedule 13.02.2017