приветствую
реализована поддержка контент сканера 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