Использование DBI

Существует возможность хранения сообщений, находящихся в Карантине, не в файловой системе, а в хранилище DBI. Используемое хранилище DBI должно быть предварительно настроено. Подробнее про установку и настройку модулей DBI для работы с базами данных можно посмотреть в документации по DBI. Кроме того, чтобы успешно сохранять письма целиком в БД, необходимо, чтобы она была создана с использованием наборов символов SQL-ASCII.

warning

Работа с DBI осуществляется через внешнюю утилиту, путь к которой указывается в значении параметра PathToDrwebQpсекции [Quarantine]).

По умолчанию используется поставляемая с Dr.Web MailD утилита drweb-qp, которая расположена в каталоге %bin_dir.

Для использования утилиты drweb-qp необходимы Perl (версии не ниже 5.0), установленные модули Perl DBI и File::Temp.

Для использования DBI необходимо установить MoveToDBI в Yes и настроить DBISettings, DBIUsername и DBIPassword соответствующим образом для доступа к хранилищу DBI.

Также надо настроить соответствующие SQL-команды для выполнения требуемых действий:

SQLInsertCommand - команда добавления письма в хранилище DBI.

SQLRemoveCommand - команда для удаления письма из DBI. Используется, если задано ограничение на время хранения писем в Карантине.

SQLSelectCommand - команда доступа к сохраненному сообщению в хранилище DBI. Используется при запросе письма из Карантина (например, через управляющее письмо).

Возможные проблемы:

Если возникла ошибка вида:

maild ERROR Error in system call for [/opt/drweb/drweb-qp --Level debug --SyslogFacility Daemon --BaseDir /var/drweb/ --ProcessMail 1 --MoveToDBI 0 --StoredTime 86400 --SQLInsertCommand "" --MDClient "def" >/dev/null 2>&1 &]

то попробуйте увеличить макимально доступное количество памяти для процесса drweb-maild (например, с помощью команды ulimit -m).