Страница 1 из 1

Изменение поля Тема после получения сообщения

Добавлено: 27 июл 2017, 21:29
KosT
Добрый день!
Возникла задача, необходимо изменять поле Тема при условии, что, если заявка получена от *@client1.ru в Тему вставить добавить префикс [CL1]
от *@client2.ru - [CL2] и т.д.
В postmaster и Планировщике задач ничего подобного не нашел.
Кто-нибуль сталкивался с подобным? Какие варианты?
OTRS 5

Спасибо!

Re: Изменение поля Тема после получения сообщения

Добавлено: 28 июл 2017, 11:09
Rem
А дальше что вы с этими [CL1], [CL2] и т.д. планируете делать?
Тему (заголовок) существующего тикета таки можно поменять Планировщиком.

Можно еще поправить GetEmailParams в Kernel/System/PostMaster.pm. Только что для своей задачки пробовал заменять From для некоторых почтовых доментов. Все получилось.
Или написать свой PostMaster.

Re: Изменение поля Тема после получения сообщения

Добавлено: 28 июл 2017, 15:05
KosT
Есть субподрядчик для некоторых задач, у субподрядчика своя система управления заявками(не OTRS) и для того, чтобы автоматизировать распределение задач на ответственных лиц у субподрядчика, было решено изменять поле Тема, по которому они смогут у себя распределять письма полученные от нас. С нашей стороны это выглядит как пересылка задачи на адрес субподрядчика.
Поэтому и нужно, чтобы при пересылке задачи в поле тема стоял префикс клиента.
Попробовал сделать в планировщике "Новый заголовок:" [CL1]
В самом тикете Тема не меняется, но уведомление о новой заявке приходит с темой [CL1]. Это не то.
Подскажите как через GetEmailParams можно добавить префикс к Теме? Никогда не имел дело с таки глубоким "ковырянием" OTRS.
Спасибо!

Re: Изменение поля Тема после получения сообщения

Добавлено: 28 июл 2017, 15:50
Rem
А система субподрядчика не умеет ли работать с клуджами письма? Приспособили бы какое-нибудь из динамических полей в X-OTRS-DynamicField-xxxxx и в фильтре письма его устанавливали. Правда я не знаю сохранятся ли эти поля в письме при пересылке.

Что касается замены темы, то навскидку в коде GetEmailParams в файле Kernel/System/PostMaster.pm пропишите
my $prefix = ваша логика;
$GetParam{Subject} = $prefix.$GetParam{Subject};

Но как-то это несколько топорно.

Re: Изменение поля Тема после получения сообщения

Добавлено: 28 июл 2017, 19:01
KosT
Система субподрядчика может разбирать только From и Subject
Поковырялся в файлах и обнаружил в файле Ticket.pm такие строки:
=item TicketSubjectBuild()
rebuild a new ticket subject
This will generate a subject like C<RE: [Ticket# 2004040510440485] Some subject>
my $NewSubject = $TicketObject->TicketSubjectBuild(
TicketNumber => '2004040510440485',
Subject => $OldSubject,
Action => 'Reply',
);

Можно ли сделать что-то вроде?
my $NewSubject = $TicketObject->TicketSubjectBuild(
CustomerID => 'Client1',
Subject => $OldSubject + <OTRS_TICKET_CustomerID>,
Action => 'Forward',

И как это сделать? Я что-то совсем не пойму, в мануале написано, что редактировать рекомендуется только Config.pm и куда засунуть эти строки не ясно.