Задача: извлечь из тела письма специальным образом помеченный текст и выставить его в качестве X-OTRS- заголовка письма.
Зачем это нужно? Ну, например, некоторым клиентам вы хотите дать возможность указывать в письме сервис заявки, и указанный сервис должен быть автоматически установлен для создаваемой заявки. Или вытащить из письма некоторые сведения и поместить их в динамическое поле.
Пример: присваиваем заявке сервис, заданный в строке письма вида
Сервис:<имя_сервиса>
1. Создаем новый фильтр постмастера.
2. Название и признак остановки проверки после совпадения указываем исходя из дополнительных требований. Например, имя делаем первым в списке - 00-сервис, проверку - не прекращать.
3. Добавляем условие фильтра.
В поле "Найти поле заголовка" - выбираем Body.
Значение для сравнения - Сервис:<(?<Service>.+)>
В данном примере "Service" - это имя переменной, в которую будет помещен текст из тела письма, содержащийся в угловых скобках после ключевой фразы "Сервис:"
Конструкция ".+" требует обязательного указания сервиса (между угловыми скобками должен быть задан хотя бы один символ). Если допускаете возможность оставления этого поля пустым - используйте конструкцию ".*"
В подсказке OTRS на странице редактирования фильтра приведен пример использования конструкции "\w+", но она не сработает, если в имени сервиса будут встречаться не латинские символы.
Если желаете устанавливать и другие параметры заявки, например, владельца, очередь, приоритет, - действуйте по аналогии. Добавляйте еще условия поиска в Body, заносите в нужные переменные помеченный текст.
4. Выставляем заголовок письма.
В поле "Выставить заголовок письма" выбираем X-OTRS-Service
В поле значения - [**\Service**]
5. Сохраняем фильтр.
Теперь пользователь в письме отдельной строкой может указать требуемый сервис, например:
Сервис:<ВКС>
Фильтры Postmaster-а и RegEx-ы
Модератор: ykolesnikov