4.3.1.3.3. Условия и действия в фильтрах WebMail.Online

В WebMail.Online фильтры реализованы с помощью языка Sieve, который позволяет гибко настраивать нужную фильтрацию писем и реагирование на них. Для более удобного формирования правил существует визуальный редактор.

Sieve позволяет настроить фильтрацию по практически любому заголовку письма. В процессе настройки можно использовать существующие условия или указывать нужный заголовок вручную.

Типы сравниваемых данных:

Тип Описание Заголовок
«Тема» Поиск по заголовку subject subject
«От» Поиск по заголовку from from
«Кому» Поиск по заголовку to to
«Тело письма» Поиск по тексту письма —
«Размер» Сравнение размера всего письма и его вложений —
«Дата» Поиск по заголовку Date Date
«Текущая дата» Сравнение текущей даты или времени. Дата берется по киевскому времени GMT+3 —
«Строка» Сравнение переменных, переданных в письме. После выбора появится дополнительное поле для указания заголовка —
«Сообщение» Определение дублирования писем —

Помимо множества типов сравниваемых данных также необходимо выбрать способ сравнения:

Тип Описание Параметр в Sieve
Для всех типов данных, кроме «Размер», «Сообщение»:
«содержит» Поиск указанного текста во входящих данных :contain
«не содержит»
«соответствует» Полное совпадение входящих данных с указанными в фильтре :is
«не соответствует»
«существует» Проверка существования выбранного типа входящих данных exists
«не существует»
«совпадает с выражением» Поиск указанного текста во входящих данных, но с возможностью указывать подстановочные знаки в виде: * — любое количество любых символов, ? — один любой символ :matches
«не совпадает с выражением»
«совпадает с регулярным выражением» Поиск текста с использованием регулярного выражения :regex
«не совпадает с регулярным выражением»
«количество больше, чем» Подсчёт указанных заголовков в письме и сравнение их количества с указанными данными :count
«количество больше или равно»
«количество меньше, чем»
«количество меньше или равно»
«количество равно»
«количество не равно»
«значение больше, чем» Математическое сравнение значения заголовка с указанными данными :value
«значение больше или равно»
«значение меньше, чем»
«значение меньше или равно»
«значение равно»
«значение не равно»
Для типов данных «Дата», «Текущая дата» появится дополнительный параметр с выбором типа данных поля даты:
«дата (гггг-мм-дд)» Дата в стандартном виде «Год-месяц-день» "date"
«дата (ISO8601)» Дата по стандарту ISO 8601 в виде год-месяц-деньTчас:минута:секунда+часовой пояс или 2025-01-21T11:21:44+0300 "iso8601"
«дата (RFC2822)» Дата с учётом соглашения RFC2822 в виде День недели, день месяц год час:минута:секунда:стандарт времени или Tue, 07 Feb 1984 12:34:56 GMT "std11"
«дата (юлианская)» Количество дней, прошедших с 1 января 4713 до нашей эры "julian"
«время (чч:мм:сс)» Время в часах:минутах:секундах "time"
«год» Определение одного типа данных из всей даты "year"
«месяц» "month"
«день» "day"
«час» "hour"
«минута» "minute"
«секунда» "second"
«день недели (0-6)» День недели, где 0 — понедельник, а 6 — воскресение "weekday"
«часовой пояс» Определение часового пояса, указывается исключительно согласно RFC2822, то есть в виде 4 цифр, где +\-ЧасЧасМинутаМинута, например 0300 "zone"

В Sieve существует множество вариаций действий с письмами для гибкой настройки обработки входящей почты:

Действие Описание Параметры Функция в Sieve
«Переместить сообщение в» Перемещение сообщения в определённую папку без сохранения в текущем Выбор каталога из существующих fileinto
«Скопировать сообщение в» Копирование сообщения в определённую папку fileinto :copy
«Перенаправить сообщение на» Переадресовать письмо на другой почтовый ящик без сохранения в текущем Указание целевого почтового ящика redirect
«Отправить копию сообщения на» Переадресовать копию письма на другой почтовый ящик с сохранением в текущем redirect :copy
«Отбросить с сообщением» Не сохранять письмо в ящике и ответить на него автоматически Текст отправляемого ответа на письмо reject
«Ответить с сообщением» Сохранить письмо в ящике и ответить на него (аналог автоответчика) Текст отправляемого ответа
Тема сообщения (заголовок subject)
Обратный адрес отправителя (заголовок from) — обязательно указывайте тот же ящик, для которого настраиваются фильтры
Мои адреса эл. почты — список дополнительных адресов, на которые можно отправить сообщение
Как часто отправлять сообщения — частота отправки ответов на сообщения от уникальных почтовых ящиков, то есть если с ящика admin@example.com будет отправлено 2 сообщения в течение дня — автоматический ответ будет отправлен только один раз
vacation с параметрами: :days, :addresses, :subject, :from
«Удалить сообщение» Удаление сообщения, при этом серверу отправителя не будет об этом известно — discard
«Добавить ярлыки к сообщению» Добавить к сообщению стандартные флаги или ярлыки Выбор доступных и ранее созданных флагов и ярлыков addflag
«Убрать ярлыки из сообщения» Удалить для сообщения добавленные ранее флаги или ярлыки removeflag
«Отправить уведомление» Отправить отдельное уведомление на определённый почтовый ящик Объект уведомления — почтовый ящик получателя
Сообщение уведомления
Отправитель уведомления (заголовок from) — необязательный параметр и его не нужно указывать
Важность
Параметры уведомления — дополнительные параметры, которые будут указаны в уведомлении
notify с параметрами: :importance, :from, :message
«Оставить сообщение во Входящих» Не перемещать сообщение в другие папки и оставить его во входящих — keep
«Закончить выполнение» Закончить выполнение всех активных фильтров. Функция прерывает выполнение цепочки фильтров — будут выполнены только фильтры до этого действия, последующие выполняться не будут — stop
Содержание

    (1)