Карантин |
Письма попадают в Карантин как по запросу от основного модуляdrweb-maild, так и по запросу от любого из используемых подключаемых модулей. Далее они сохраняются в каталоге/quarantine/path/def/name/, где name – название модуля, запросившего сохранение. При сохранении письма в Карантине создаются два файла: •Первый файл с именем name (которое формируется в соответствии с настройками FilenamesMode и FilenamesPrefix) содержит оригинальное тело сообщения (при этом все символы "_" заменяются на "."). •Второй файл с именем name.envelope содержит оригинальный конверт сообщения в следующим формате: oint4_t - длина адреса отправителя; osN - адрес отправителя; oint4_t - число получателей; oint4_t sN - для каждого получателя, где int4_t - 4-байтовое число со знаком в сетевом порядке байтов. Также необходимо отметить, что если значение параметра MoveAll установлено в Yes, то вся проходящая через программный комплекс почта будет сохраняться в каталоге /path/def/backup/. Кроме сохранения тела письма, в каталоге Карантина происходит регистрация сообщения во внутренней базе данных с сохранением там дополнительной информации о письме (например, сохраняется конверт письма, время перемещения письма в Карантин, указывается причина перемещения и т.д.). Работу с Карантином можно осуществлять непосредственно через управляющий сокет, эффективно выполняя поиск, отправление, пересылку, удаление и другие операции с содержимым Карантина. Можно задать максимальный срок хранения писем в каталоге Карантина через настройку параметра StoredTime, а также ограничить Карантин по максимальному размеру (с помощью параметра MaxSize) и максимальному числу хранимых сообщений (с помощью параметра MaxNumber). Если одновременно задано несколько ограничений, то все они будут поддерживаться одновременно. Ограничения на максимальный размер Карантина и число сообщений в нем проверяются при каждом сохранении сообщения в Карантин. Ограничение максимального времени хранения писем в Карантине проверяется периодически - период устанавливается через настройку параметра PulseTime. Удалением устаревших сообщений и перемещением их во внешнее хранилище DBI занимается внешняя утилита drweb-qp, путь к которой указывается в настройке PathToDrwebQp. Для ее работы необходим Perl (версии не ниже 5.0). Запуск данной утилиты происходит с периодичностью, указанной в настройке PulseTime. Если значение параметра PulseTime установлено равным 0 и выключено использование управляющих писем, то запуск производится не будет. |