Настройка фильтров в веб-почте
В Roundcube фильтры реализованы с помощью языка Sieve, который позволяет гибко настроить фильтрацию писем и реагирование на них. Правила также можно настроить в визуальном редакторе.
Условия
Благодаря языку Sieve можно настроить фильтрацию по практически любому заголовку письма. Для этого можно использовать существующие условия или указать нужный заголовок вручную.
Типы сравниваемых данных представлены в таблице.
| Тип | Описание | Заголовок |
| «Тема» | Поиск по заголовку subject | subject |
| «От» | Поиск по заголовку from | from |
| «Кому» | Поиск по заголовку to | to |
| «...» | Поиск по заголовку, заданному вручную. После выбора появится дополнительное поле для указания заголовка | - |
| «Тело письма» | Поиск по тексту письма | - |
| «Размер» | Сравнение размера всего письма и его вложений | - |
| «Дата» | Поиск по заголовку Date | Date |
| «Текущая дата» | Сравнение текущей даты или времени. Дата берется по московскому времени GMT+3 | - |
| «Строка» | Сравнение переменных, переданных в письме. После выбора появится дополнительное поле для указания заголовка | - |
| «Сообщение» | Определение дублирования писем | - |
Кроме типа сравниваемых данных, требуется также выбрать способ сравнения.
| Тип | Описание | Параметр в Sieve |
| Для всех типов данных, кроме «Размер», «Сообщение» | ||
| «содержит» | Поиск указанного текста во входящих данных | : contain |
| «не содержит» | ||
| «соответствует» | Полное совпадение входящих данных с указанными в фильтре | : is |
| «не соответствует» | ||
| «существует» | Проверка существования выбранного типа входящих данных | exists |
| «не существует» | ||
| «совпадает с выражением» |
Поиск указанного текста во входящих данных, но с возможностью указывать подстановочные знаки в виде: * — любое количество любых символов; ? — один любой символ |
: matches |
| «не совпадает с выражением» | ||
| «совпадает с регулярным выражением» | Поиск текста с использованием регулярного выражения | : regex |
| «не совпадает с регулярным выражением» |
||
| «количество больше, чем» |
Подсчет указанных заголовков в письме и сравнение их количества с указанными данными | : count |
| «количество больше или равно» |
||
| «количество меньше, чем» |
||
| «количество меньше или равно» |
||
| «количество равно» |
||
| «количество не равно» |
||
| «значение больше, чем» |
Математическое сравнение значения заголовка с указанными данными | : value |
| «значение больше или равно» |
||
| «значение меньше, чем» |
||
| «значение меньше или равно» |
||
| «значение равно» |
||
| «значение не равно» |
||
| Для типов данных «Дата», «Текущая дата» появится дополнительный параметр с выбором типа данных поля даты | ||
| «дата (гггг-мм-дд)» |
Дата в стандартном виде «Год-месяц-день» | "date" |
| «дата (ISO8601)» |
Дата по стандарту ISO 8601 в виде год-месяц-деньТчас:минута:секунда+часовой пояс или 2025-01-21Т11: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 будет отправлено два сообщения в течение дня, то автоматический ответ будет отправлен только один раз |
vacation с параметрами: :days, :addresses, :subject, :from |
| «Удалить сообщение» | Удаление сообщения, при этом серверу отправителя не будет об этом известно | - | discard |
| «Установить флаги на сообщение» | Установить определенные флаги на сообщения, убрав предыдущие | Выбор доступных и ранее созданных флагов | setflag |
| «Добавить флаги к сообщению» | Установить определенные флаги на сообщения, добавив к предыдущим | addflag | |
| «Убрать флаги из сообщения» | Удалить ранее установленные флаги для сообщения | removeflag | |
| «Задать переменную» | Задание определенной переменной для ее дальнейшего использования |
Имя переменной. Значение переменной. Модификаторы, применяемые к переменной |
set |
| «Отправить уведомление» | Отправить отдельное уведомление на определенный почтовый ящик |
Объект уведомления — почтовый ящик получателя. Сообщение уведомления. Отправитель уведомления (заголовок from) — не обязательный параметр и его не нужно указывать. Важность. Параметры уведомления — дополнительные параметры, которые будут указаны в уведомлении |
notify с параметрами: :importance, :from, :message |
| «Оставить сообщение во Входящих» | Не перемещать сообщение в другие папки и оставить его во входящих | - | keep |
| «Закончить выполнение» | Закончить выполнение всех активных фильтров. Функция прерывает выполнение цепочки фильтров — будут выполнены только фильтры до этого действия, последующие выполняться не будут | - | stop |
Сайт ИКС
Скачать ИКС
Чейнджлог