[exim-conf] поддержка контент сканера rspamd средствами dlfunc

Victor Ustugov victor на corvax.kiev.ua
Сб Янв 29 19:59:42 EET 2011


приветствую

реализована поддержка контент сканера rspamd средствами dlfunc:
http://mta.org.ua/exim-4.70-conf/features/rspamd.m4

для включения проверки писем контент сканером rspamd необходимо указать
RSPAMD в значении переменной confCONTENT_SCANNING.

действие для писем, опознанных как spam средствами rspamd, описывается
переменной confRSPAMD_ACTION.

возможные значения:
REJECT - отказ в приеме письма (возврат клиенту кода 5xx)
DENY - синоним для REJECT
DROP - отказ в приеме сообщения с обрывом соединения
DISCARD - прием письма без доставки получателю
QUARANTINE - вывод в лог файл предупреждения и помещение письма в карантин
QUARANTINE_MAILLIST - сохранение в карантине писем из списков рассылки
вместо отказа в приеме письма (используется только одновременно с REJECT)
DISCARD_MAILLIST - игнорирование писем из списков рассылки вместо отказа
в приеме письма (используется только одновременно с REJECT)

по умолчанию лишь добавляются поля заголовков с результатами проверки:
define(`confRSPAMD_ACTION', `NO')

если не будут указаны действия REJECT, DROP или DISCARD, то письмо будет
просто помечено.
действие QUARANTINE можно указывать вместо с REJECT и DISCARD через пробел.
действия QUARANTINE_MAILLIST и DISCARD_MAILLIST можно указывать вместе с
REJECT и DROP.

действие в случае отсутствия ответа от RSPAMD либо возврата кода ошибки
указывается в переменной confRSPAMD_DEFER_OK:
NO              - возвращать клиенту 4xx
YES             - продолжать обработку письма
define(`confRSPAMD_DEFER_OK', `YES')

пример команда получения названия и версии демона RSPAMD:
define(`confRSPAMD_NAME_VERSION', `pkg_info -I rspamd\* | perl -p -e
"s/^(rspamd-\S+).+\$/\$1/;s/\n//;"')

по умолчанию (если не будет задана переменная confRSPAMD_NAME_VERSION)
будет использована следующая команда получения версии демона rspamd:
define(`confRSPAMD_NAME_VERSION_DEFAULT', `rspamd --help | grep version
| perl -p -e "s/^\s+//;s/\n//;"')

параметры подключения к демону RSPAMD описываются в переменной
confRSPAMD_ADDRESS:
define(`confRSPAMD_ADDRESS', `127.0.0.1 11333')

действие для старых полей заголовков, специфичных для rspamd:
RENAME  - переименование старых заголовков (в конец имени добавляется -Old)
REMOVE  - удаление старых заголовков
NOTHING - оставлять заголовки без изменений
define(`confRSPAMD_OLD_HEADERS', `RENAME')

поля заголовков rspamd перечисляются в переменной confRSPAMD_HEADERS:
define(`confRSPAMD_HEADERS',
`:X-Rspamd-Info:X-Rspamd-Protocol-Version:X-Rspamd-Urls:X-Rspamd-Status:X-Rspamd-Score:X-Rspamd-Report')

при использовании интеграции с rspamd необходимо включить использование
системного фильтра (см. параметр confSYSTEM_FILTER)

в общем и целом, интеграция exim с rspamd с помощью dlfunc сделана
максимально похожей на интеграцию с другими контент сканерами.

остается лишь в site/system_filter_quarantine_content_scaned при
необходимости (при указании QUARANTINE в confRSPAMD_ACTION и при наличии
"quarantined" в значени и поля X-Spam-Action) реализовать доставку
помеченных писем в карантин.

-- 
Best wishes Victor Ustugov   mailto:victor на corvax.kiev.ua
public GnuPG/PGP key:        http://victor.corvax.kiev.ua/corvax.asc
ICQ UIN: 77186900, 371808614 nic-handle: CRV-UANIC




Подробная информация о списке рассылки exim-conf