4.3.2.1.5. Опис фільтрів WebMail classic

У WebMail classic фільтри реалізовані за допомогою мови 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
«Встановити флаги на повідомлення» Встановити певні флаги на повідомлення, прибравши попередні Вибір доступних і раніше створених флагів setflag
«Додати флаги до повідомлення» Встановити певні флаги на повідомлення, додавши до попередніх addflag
«Прибрати флаги з повідомлення» Видалити раніше встановлені флаги для повідомлення removeflag
«Задати змінну» завдання певної змінної для її подальшого використання Ім'я змінної
Значення змінної
Модифікатори, що застосовуються до змінної
set
«Надіслати повідомлення» Надіслати окреме повідомлення на певну поштову скриньку Об'єкт повідомлення — поштова скринька одержувача
Повідомлення
Відправник повідомлення (заголовок from) — необов'язковий параметр, його не потрібно вказувати
Важливість
Параметри повідомлення — додаткові параметри, які будуть вказані в повідомленні
notify з параметрами: :importance, :from, :message
«Залишити повідомлення у Вхідних» Не переміщати повідомлення в інші папки і залишити його у вхідних keep
«Завершити виконання» Завершити виконання всіх активних фільтрів. Функція перериває виконання ланцюжка фільтрів — будуть виконані лише фільтри до цієї дії, наступні виконуватися не будуть stop
Зміст