Модуль позволяет выполнять фильтрацию
сообщений во время их доставки в почтовые ящики пользователей. Могут
быть проанализированы различные свойства сообщения - адреса получателей
и отправителей полученные из сессии SMTP
или заголовка письма, значения полей
заголовка, размер сообщения. Результатом работы фильтра является
доставка в один из почтовых ящиков пользователя, перенаправление на
другой адрес или отказ от получения.
Фильтры описываются скриптами написанными на специализированном
языке Sieve
(RFC 5228).
Данный язык предназначен именно для задачи фильтрации почтовых сообщений
и имеет очень простой синтаксис и ограниченное число ключевых слов
(операторов). В текущей реализации поддерживаются следующие расширения
Sieve
: encoded-character, fileinto, envelope,
comparator-i;unicode-casemap, ereject (RFC 5429),
variables (RFC
5229).
Пользовательские приложения управляют скриптами на сервере через
сетевой протокол ManageSieve
(RFC
5804). Пользователь может хранить на сервере множество скриптов.
Один из скриптов назначается "активным" и будет выполняться для каждого
почтового сообщения которое поступает пользователю.