Sieve

Модуль позволяет выполнять фильтрацию сообщений во время их доставки в почтовые ящики пользователей. Могут быть проанализированы различные свойства сообщения - адреса получателей и отправителей полученные из сессии SMTP или заголовка письма, значения полей заголовка, размер сообщения. Результатом работы фильтра является доставка в один из почтовых ящиков пользователя, перенаправление на другой адрес или отказ от получения.

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

Пользовательские приложения управляют скриптами на сервере через сетевой протокол ManageSieve (RFC 5804). Пользователь может хранить на сервере множество скриптов. Один из скриптов назначается "активным" и будет выполняться для каждого почтового сообщения которое поступает пользователю.