Почтовый фильтр — это набор правил для входящих писем, при выполнении которых cPanel совершит с ними какое-то действие: поместит в нужную папку, перешлёт на другой адрес или вообще отклонит. Условием может быть конкретный адрес отправителя или, например, слова в теме письма.
При помощи фильтров вы сможете поддерживать порядок во входящих сообщениях и сэкономите время на сортировку писем вручную. Подробнее о том, какие условия и действия могут быть в фильтрах — читайте в статье.
Как создать фильтр
Зайдите в cPanel, найдите на главной странице раздел «Почта» и откройте приложение «Почтовые фильтры».

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

На следующей странице нажмите «Создать новый фильтр». После этого откроется мастер по созданию фильтра.

Шаг 1. Придумать имя
Как вариант оно может кратко отражать его суть. Например, «Письма от бухгалтеров» или «HR». Также можно поставить в название фильтра повторяющийся текст из темы письма, на основе которого происходит сортировка. Например, «New Client Reply» или «Новый заказ».
Имя фильтра должно быть уникальным. Если укажете такое же название, как у другого фильтра, cPanel перезапишет существующий фильтр.

Шаг 2. Создать правило
Любое правило в почтовом фильтре состоит из трёх компонентов:
- Критерий — к чему именно во входящем письме должно применяться правило (например, адрес отправителя, слова в теме или тексте сообщения);
- Условие — каким должно быть значение критерия, чтобы правило сработало (например, указанное в значении слово должно располагаться строго в начале темы, строго в конце или в любом месте);
- Значение — текст, адрес электронной почты или число.

Критерии расположены в левом выпадающем списке. Вот какие в нём есть варианты:
- От — электронная почта отправителя;
- Тема — тема письма;
- До — электронная почта получателя из поля «Кому» (адреса дополнительных получателей не учитываются);
- Любой получатель — любой получатель письма;
- Ответ — электронная почта, на которую отправитель получает ответы;
- Текст сообщения — содержимое письма;
- Любой заголовок — любая часть в хедере письма, включая поля To, From, Envelope-To, Content-Type;
- Не доставлялось ранее — правило применится только к тем письмам, которые находятся в очереди на доставку;
- Сообщение об ошибке — правило применится только к сообщениям об ошибке, которые система отправляет автоматически;
- ID списка — номер списка рассылки;
- Статус спама — пометил ли Apache SpamAssassin™ входящее сообщение как спам;
- Spam Bar — содержимое заголовка Spam Bar, которое Apache SpamAssassin™ сгенерировал для письма;
- Показатель спама — количество знаков +, которое SpamAssassin присвоил письму.

Условия расположены в правом выпадающем списке. Вот как они переводятся:
- contains — содержит;
- matches regex — соответствует регулярному выражению;
- does not contain — не содержит;
- equals — совпадает в точности;
- begins with — начинается с;
- ends with — заканчивается на;
- does not begin — не начинается с;
- does not end with — не заканчивается на;
- does not match — не совпадает в точности.

Также есть четыре условия, которые доступны только для критерия «Показатель спама». Вот как они переводятся:
- is above — выше;
- is not above — не выше;
- is below — ниже;
- is not below — не ниже.
В значении этих условий могут быть только цифры. Они будут означать, количество знаков +, которое SpamAssassin присвоил письму. Чем их больше, тем выше вероятность, что письмо будет помечено как спам.

Шаг 3. Выбрать действие
Если письмо будет соответствовать условиям правила, cPanel может выполнить с ним такие действия:
- Отменить сообщение — Система отклонит письмо без уведомления об ошибке. Отправитель не узнает, что письмо не было доставлено.
- Перенаправить на почту — Система перенаправит письмо на указанную электронную почту. Копия сообщения при этом не сохранится. Если хотите, чтобы и письмо перенаправилось и у вас осталась его копия, добавьте к фильтру дополнительное действие «Доставить в папку» и выберите папку «Входящие».
- Ошибка с сообщением — Система отклонит письмо и отправит уведомление об ошибке.
- Остановить обработку правил — Система прекратит выполнять последующие правила и применять другие фильтры для этого сообщения.
- Доставить в папку — Система поместит письмо в указанную папку в вашем почтовом ящике.
- Передать данные в программу — Система пропарсит сообщение и передаст его в другую программу при помощи скрипта, путь к которому понадобится указать ниже. Например, таким образом можно передавать письма от клиентов в тикет-систему.
Путь к скрипту нужно указывать относительно домашнего каталога. Например, чтобы использовать скрипт /home/username/script.pl, нужно указать script.pl в поле, которое появится при выборе этого действия.

Множественные правила или действия
Если нужно, вы можете добавить в фильтр больше чем одно правило или действие. Для этого нажмите + в правой части экрана.
Лучше создавайте много простых фильтров, чем один сложный. Почтовый сервер более эффективно обрабатывает короткие правила по сравнению с длинными.

При выборе нескольких правил, перед каждым из них появится дополнительное условие:
- or (или) — действие сработает, если будет выполнено либо предыдущее правило, либо следующее;
- and (и) — действие сработает, только если будет выполнено и предыдущее и следующее правило.
Система обрабатывает условие и с более высоким приоритетом по сравнению с условием или. Например:
- Система обработает правила 1 или 2 и 3 в таком порядке: 1 или (2 и 3).
- Система обработает правила 1 и 2 или 3 в таком порядке: (1 и 2) или 3.

Как работать с фильтрами
В разделе «Почтовые фильтры» найдите нужный почтовый ящик и нажмите рядом с ним «Управление фильтрами». На следующей странице вы увидите два блока: «Текущие фильтры» и «Тест фильтра».

Как отредактировать фильтр
Найдите нужный фильтр в таблице «Текущие фильтры» и нажмите «Редактировать». Откроется точно такая же страница, как и при создании фильтра. Измените интересующие параметры и нажмите внизу «Сохранить».

Как удалить фильтр
Найдите нужный фильтр в таблице «Текущие фильтры», нажмите «Удалить» и на следующей странице подтвердите удаление.

Как протестировать фильтр
В блоке «Тест фильтра» вы можете сымитировать получение входящего сообщения, чтобы проверить, корректно ли работают фильтры. Для этого заполните в текстовом поле значения полей To (Кому), From (От кого), Subject (Тема), отредактируйте текст сообщения и нажмите «Тестовый фильтр».
Допустим, есть правило, согласно которому все письма со словами «Новый заказ» в теме нужно размещать в папку «Заказы». Чтобы проверить фильтр, впишите в поле «Subject» указанные слова и нажмите «Тестовый фильтр». Вас перенаправит на страницу с результатами теста, которые выглядеть примерно так:
Sub-condition is false: not first_delivery Condition is false: not first_delivery and error_message Condition is true: $header_subject: contains Новый заказ Return-path copied from sender Sender = username@uashared05.twinservers.net Recipient = username@uashared05.twinservers.net Testing Exim filter file "/home/username/etc/vashdomen.com/admin/filter" Headers charset "UTF-8" Deliver message to: "username+Archive"@uashared05.twinservers.net Filtering set up at least one significant delivery or other action. No other deliveries will occur.
Вот какая информация будет в результатах теста:
- Каждое условие из фильтра с обозначением, было ли оно выполнено успешно (true) или нет (false).
- Отправитель (sender) и получатель (recipient) сообщения.
- Путь к файлу с фильтром на вашем сервере.
- Кодировка заголовков сообщения.
- Сообщение об изменении в доставке сообщения или подтверждение доставки как обычно.
- Filtering did not set up a significant delivery. Normal delivery will occur. — Система доставит сообщение как обычно
- Filtering set up at least one significant delivery or other action. No other deliveries will occur. — Система доставит сообщение в другой почтовый ящик/другую папку или доставки не будет.
Что дальше
Надеемся, у вас получилось настроить почтовые фильтры и теперь письма в вашем почтовом ящике красиво распределяются по нужным папкам. Следующие этапы в работе с почтой — настроить автоответчик или переадресацию для входящих писем.
Как настроить автоответчик в cPanel
Как настроить переадресацию для входящих писем в cPanel
Если что-то вдруг не получилось или есть дополнительные вопросы — оставьте комментарий к статье. Постараемся всем помочь.