The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Вышел фреймворк для создания почтовых фильтров - spmfilter 0.4

07.04.2010 16:38

Представлен первый публичный релиз проекта spmfilter в рамках которого ведется разработка универсального фреймворка для создания высокопроизводительных почтовых фильтров, применимых для решения широкого спектра задач. Spmfilter состоит из базовой части и набора подключаемых плагинов, непосредственно обрабатывающих поступающие от почтового сервера сообщения.

Плагины могут принимать решение о блокировании доставки, изменять содержимое сообщений и привязанных к ним мета-данным, досрочно прерывать цепочку проверки (например, когда найден вирус нет смысла проверять сообщение другими плагинами). Код spmfilter написан на языке Си и распространяется под лицензией LGPLv3, для сборки используется Cmake. Готовые бинарные пакеты собраны для CentOS, RedHat Enterprise Linux и Fedora.

Особенности spmfilter:

  • Встроенный SMTP-движок, позволяющий использовать spmfilter в сочетании с любым почтовым сервером;
  • Все проверки вынесены на плечи плагинов, каждый из которых функционирует независимо. Из доступных плагинов можно отметить:
    • smtpbcc - отправляет копию каждого входящего или исходящего сообщения на заданный smtp-хост;
    • diskarchive - архивирует все сообщения на локальном диске;
    • clamav - осуществляет проверку сообщения в ClamAV на предмет наличия вирусов;
    • spamassassin - интегрирует поддержку SpamAssassin для выявления спама.
  • Средства для слежения за работой плагинов: управляющий процесс следит за состоянием плагинов, которые запущены как серверные процессы, и в случае сбоя повторно запускает плагин;
  • Для разработчиков плагинов доступно готовое API для парсинга заголовков и различных видов сообщений с учетом MIME-типа. Также API поддерживает и создание новых сообщений с заданным MIME-типом, например, для отправки уведомлений;
  • Встроенный единый интерфейс для обращения к внешним базам данных. При создании плагинов нет необходимости заботиться о поддержании соединения к внешней базе, управляющий процесс поддерживает пулинг соединений, переключение на запасной сервер в случае сбоя и балансировку нагрузки. Из баз поддерживаются PostgreSQL, MySQL, SQLite, BerkeleyDB и LDAP;
  • Код написан на языке Си и обеспечивает более высокую производительность, по сравнению с аналогами на скриптовых языках (например, amavisd-new);
  • Надежность: крах одного плагина не повлияет на доставку почты, MTA будет возвращен статус 4xx, что приведет к тому, что сообщение будет отложено в очередь и попытка его проверки будет повторена через некоторое время;
  • Поддержка IPv6 и TLS.


  1. Главная ссылка к новости (http://www.spmfilter.org/news/...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/26134-spmfilter
Ключевые слова: spmfilter, mail, filter, mta
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (7) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, splat_pack (ok), 17:23, 07/04/2010 [ответить]  
  • +/
    эдакий amavisd-new на новый лад ?
     
  • 1.2, Стас (??), 17:32, 07/04/2010 [ответить]  
  • –2 +/
    Или ставиш dSPAM, и все по барабану :)
     
  • 1.5, AlanMakoev (ok), 22:10, 07/04/2010 [ответить]  
  • +1 +/
    Хмммм... имхо, milter - намного более удобный протокол для обмена между MTA и фильтром, нежели SMTP.
    И какое прибавление в скорости они ожидают от прокладки написанной на C, если SA всё равно написан на перле? Да и то, бОльшую часть времени он не сканирует письмо, а ждёт ответа от DNSBL... И short-circuit в SA есть (досрочное прекращение сканирования и выдача ответа по результатам только части тестов, при определённых условиях).
     
  • 1.6, slepnoga (??), 08:35, 08/04/2010 [ответить]  
  • +/
    Быдлокод такой быдлокод :(
    В функции ‘open’,
    включённом из ‘smf_modules_flush_dirty’ в /var/tmp/portage/mail-filter/spmfilter-0.4.0/work/spmfilter-0.4.0/src/smf_modules.c:165:
    /usr/include/bits/fcntl2.h:51: ошибка: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
     
  • 1.7, nadirx2 (ok), 11:09, 08/04/2010 [ответить]  
  • +/
    Версия стабильная?
     
     
  • 2.8, slepnoga (??), 11:16, 08/04/2010 [^] [^^] [^^^] [ответить]  
  • +/
    Версия чего ?
     

  • 1.10, Аноним (-), 03:17, 09/04/2010 [ответить]  
  • +/
    А как называеться протокл на 739 порту который реализует SpamAssossin???
    Где можно почитать посмотреть примеры?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру