Секция [Quarantine]

В секции [Quarantine] собраны настройки работы Карантина.

 

Path = {путь к каталогу}

Путь к каталогу Карантина.

Значение по умолчанию:

Path = %var_dir/infected/

FilesMode = {права}

Права на файлы, помещаемые в каталог Карантина.

Значение по умолчанию:

FilesMode = 0660

 

FilenamesMode = {std | tai | rand48}

Способ именования файлов, перемещаемых в Карантин:

std - переименование с использованием команды mkstemp. Используется шаблон имени %FilenamesPrefix.XXXXXX, где %FilenamesPrefix - префикс, задаваемый значением параметра FilenamesPrefix, а XXXXXX - комбинация случайных букв и цифр;

tai - переименование согласно TAI (международное атомное время). Используется шаблон имени %sec.%usec.%FilenamesPrefix.XXXXXX;

rand48 - переименование с использованием команды lrand48. Используется шаблон имени %FilenamesPrefix.XXXXXXXX.

Значение по умолчанию:

FilenamesMode = Std

FilenamesPrefix = {текст}

Префикс, применяемый при переименовании файлов, помещаемых в Карантин.

Из значения параметра будут удалены символы "%", "/" и "_".

Значение по умолчанию:

FilenamesPrefix = maild

AccessByEmail = {логический}

Разрешение на обработку запросов на получение писем, сохраненных в Карантине, через отправление специальных управляющих писем.

Управляющее письмо должно быть направлено отправителем на адрес, указанный в значении параметра FilterMail (или в Правилах) со специальным заголовком вида

q:relative_path_to_file

где relative_path_to_file – относительный путь к файлу в Карантине (например, /drweb/drweb.quarantine.puYtWx). Сохраненное письмо будет отправлено в ответ на такой запрос, только если один из его получателей или его отправитель совпадают с отправителем управляющего письма.

Такое управляющее письмо может быть автоматически сгенерировано MUA получателя уведомления MailD при нажатии им ссылки, вставленной в уведомление MailD.

Обратите внимание, что поскольку значение параметра OnlyTrustedControlMails секции [Maild] по умочанию равно yes, управляющие письма должны отправляться из защищенной сети (сети, указанной в параметре ProtectedNetworks секции [Maild]). В противном случае запрос будет проигнорирован.

Значение по умолчанию:

AccessByEmail = Yes

StoredTime = {время}

Время хранения письма в Карантине.

При значении 0 ограничений на время хранения нет.

Значение по умолчанию:

StoredTime = 24h

MaxSize = {числовое значение}

Общий максимальный размер (в килобайтах) сообщений в Карантине.

Если значение равно нулю, то размер не ограничен. Для каждого сообщения учитывается размер тела сообщения, а не фактический размер занимаемого на диске места. Данный параметр влияет только на размер внутренней БД, и никак не влияет на хранилище DBI, если оно подключено.

Значение по умолчанию:

MaxSize = 0

MaxNumber = {числовое значение}

Максимальное число сообщений в Карантине.

Если значение равно 0, то число сообщений в Карантине не ограничено.

Данный параметр влияет только на число сообщений во внутренней БД, и никак не влияет на хранилище DBI, если оно подключено.

Значение по умолчанию:

MaxNumber = 0

MoveToDBI = {логический}

Перемещение писем, сохраненных в Карантине, из файлового хранилища в хранилище DBI.

Для перемещения сообщений в хранилище DBI должны быть установлены модули Perl File::Temp и DBI.

Значение по умолчанию:

MoveToDBI = No

DBISettings = {текст}

Настройки подключения к хранилищу DBI.

Пример:

"dbi:Pg:dbname=emails_db"

База данных должна быть создана с использованием набора символов SQL-ASCII.

Также ниже см. требования к формату таблицы, используемой для хранения сообщений.

Значение по умолчанию:

DBISettings =

DBIUsername = {текст}

Имя пользователя для подключения к хранилищу DBI.

Значение по умолчанию:

DBIUsername =

DBIPassword = {текст}

Пароль для подключения к хранилищу DBI.

Значение по умолчанию:

DBIPassword =

SQLInsertCommand = {текст}

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

Список элементов должен соответствовать формату таблицы в хранилище (см. ниже) и содержать следующие поля:

1.Номер сообщения.

2.Относительный путь к файлу, из которого взят объект. Формат файла: client/plug-in/id.prefix, где client – строка 'def', plug-in – имя подключаемого модуля, id – номер сообщения в шестнадцатеричном виде (при выводе используется 8 знаков), prefix – префикс, зависящий от значений параметров FilenamesMode и FilenamesPrefix.

3.Время помещения сообщения в базу данных.

4.Поле From из заголовков письма (заключенное в угловые скобки).

5.Список получателей из заголовков письма. Значения разделены запятыми и заключены в угловые скобки.

6.Тело сообщения.

Элементы в запросе должны быть заменены знаками вопроса ("?").

Пример:

SQLInsertCommand = "INSERT INTO mail_export(id, filename, put_time, sender, rcpts,body) values (?,?,?,?,?,?)"

Значение по умолчанию:

SQLInsertCommand =

SQLRemoveCommand = {текст}

Команда удаления письма из хранилища DBI.

Используется, если задано ограничение на время хранения писем в Карантине. Единственным параметром запроса является время, все сообщения старше которого должны быть удалены. Элемент в запросе должен быть заменен знаком вопроса ("?").

Пример:

SQLRemoveCommand = "DELETE FROM mail_export WHERE put_time<=?"

Значение по умолчанию:

SQLRemoveCommand =

SQLSelectCommand = {текст}

Команда доступа к письму в хранилище DBI.

Используется, например, при запросе письма из Карантина через управляющее письмо. Единственным параметром запроса является относительное имя файла из карантина. Элемент в запросе должен быть заменен знаком вопроса ("?"). Список возвращаемых элементов фиксирован (должен соответствовать формату таблицы в хранилище, см. ниже):

1.id – Номер сообщения.

2.put_timeВремя помещения сообщения в базу данных.

3.bodyТело сообщения.

4.senderПоле From из заголовков письма (заключенное в угловые скобки).

5.rcptsСписок получателей из заголовков письма. Значения разделены запятыми и заключены в угловые скобки.

6.filenameОтносительный путь к файлу, из которого взят объект.

Пример:

SQLSelectCommand = "SELECT id,put_time,body,sender,rcpts,filename FROM mail_export WHERE filename LIKE ?"

Значение по умолчанию:

SQLSelectCommand =

 

PulseTime = {время}

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

При значении 0 запуск утилиты из значения параметра PathToDrwebQp производиться не будет.

Значение по умолчанию:

PulseTime = 5m

 

PathToDrwebQp = {путь к файлу}

Путь к утилите drweb-qp.

Значение по умолчанию:

PathToDrwebQp = %bin_dir/drweb-qp

MoveAll = {логический}

Перемещение всей входящей почты сразу в каталог /Path_parameter_value/def/backup/ для архивирования.

Данный параметр имеет смысл при MoveToDBI = Yes, иначе каталог может быстро заполниться файлами с входящими письмами.

Значение по умолчанию:

MoveAll = No

Формат таблицы в базе данных, используемой для хранения сообщений Карантина через DBI

Если используется хранилище DBI, то для хранения писем в БД следует использовать таблицу, содержащую следующие поля (порядок следования полей не важен, но названия и типы полей должны совпадать с указанными ниже):

id (number) – Номер (идентификатор) сообщения;

filename (string) – Относительный путь к файлу, из которого взят объект;

put_time (timestamp) – Время помещения сообщения в базу данных;

sender (string) – Значение поля From: из заголовка письма, заключенное в угловые скобки;

rcpts (string) – Список получателей из заголовка письма (TO:, CC:, BCC:). Значения разделены запятыми и заключены в угловые скобки;

body (string)  – Тело сообщения.

Пожалуйста, обратите внимание, что "типы данных", которые представлены в списке, должны быть заменены в БД на аналогичные типы данных, реально имеющиеся в СУБД (integer, varchar и т.д.).