Пользовательская фильтрация нежелательных обращений
Glossary Item Box
Общие сведения
Bpm'online предоставляет возможность настроить фильтр нежелательных обращений. Пользователи имеют возможность фиксировать список email адресов и доменов, письма из которых могут автоматически помечаться как спам. При этом обращения по ним могут либо не регистрироваться, либо регистрироваться в отмененном состоянии (статус указывается в системной настройке [Состояние нежелательных обращений по умолчанию]).
Также фильтр нежелательных обращений позволяет анализировать заголовок письма на предмет наличия в нем определенных флагов, например Auto-Submitted. При наличии таких флагов фильтр позволяет не создавать обращения или создавать обращения в состоянии, указанном в системной настройке.
Для того чтобы анализировать электронный адрес, домен или часть адреса, достаточно просто добавить необходимое значение в справочник [Черный список email адресов и доменов для регистрации обращений]. После добавления значения (тип будет установлен автоматически), во время анализа входящего письма адреса будут помечены как входящие в черный список.
Алгоритм добавления нового свойства для фильтрации писем
Анализ заголовка письма происходит с использованием справочника [Управление свойствами заголовков email]. Для того чтобы добавить новое свойство для анализа, необходимо выполнить следующие шаги:
- Добавить новый класс, реализующий интерфейс IHeaderPropertyHandler. Этот интерфейс содержит в себе единственный метод Check(), возвращающий значение типа bool. В реализации метода Check() необходимо выполнить проверку значения свойства и вернуть результат. Если метод возвращает true, обращение будет создано по стандартному механизму, если false — результат проверки отрицательный и письмо будет обработано как письмо из черного списка.
- Добавить значение в справочник [Управление свойствами заголовков email]. В колонке Name указать имя свойства, анализ которого должен проводиться при регистрации. В колонке handler должно содержаться имя класса, который был добавлен в предыдущем пункте.
Пример добавления нового свойства для фильтрации писем
Описание кейса
Добавить для анализа обращения новое свойство No-reply. В случае, если данное свойство присутствует в заголовке письма и его значение отлично от "No", обращение обработать, как обращение из черного списка.
Алгоритм реализации кейса
1. Добавление нового класса, реализующего интерфейс IHeaderPropertyHandler
В пользовательском пакете (например, Custom) необходимо добавить новую схему типа "Исходный код". В этой схеме необходимо определить класс, реализующий интерфейс IHeaderPropertyHandler, например:
namespace Terrasoft.Configuration { using System; public class NoreplyHandler: IHeaderPropertyHandler { public bool Check(object value) { return string.Equals(value.ToString(), "No", StringComparison.OrdinalIgnoreCase); } } }
После сохранения созданную схему небходимо опубликовать.
Интерфейс IHeaderPropertyHandler определен в пакете JunkFilter, поэтому он обязательно должен быть добавлен в зависимости пользовательского пакета.
2. Добавление значения в справочник
Для корректной работы нового фильтра необходимо добавить в справочник [Управление свойствами заголовков email] новое свойство No-reply. В качестве класса обработчика (свойство handler) необходимо указать созданный на предыдущем шаге класс NoreplyHandler.
В результате выполнения перечисленных действий, после получении входящего письма, содержащего в своем заголовке флаг No-reply со значением, отличным от "No", возможны следующие варианты:
- обращение не будет создано в случае, если значение системной настройки [Создавать обращения по нежелательным письмам] равно false;
- обращение будет создано со статусом, указанным в системной настройке [Состояние нежелательных обращений по умолчанию], если значение системной настройки [Создавать обращения по нежелательным письмам] равно true.