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)