Постфиксное переписывание условного получателя
Я изо всех сил пытаюсь интегрировать Postfix с RT. Я новичок во всем этом, поэтому я могу делать некоторые глупые ошибки.
AFAIU, Postfix и RT интегрируются с отображением между очередью RT и адресом получателя в /etc/alias
файл.
Мы сделали это для двух очередей:
support: "|/opt/rt4/bin/rt-mailgate --queue general --action correspond --url http://localhost"
support-urgent "|/opt/rt4/bin/rt-mailgate --queue urgent --action correspond --url http://localhost"
Поэтому всякий раз, когда письмо отправляется support@company.com
, он попадает в общую очередь и всякий раз, когда он отправляется support-urgent@company.com
попадает в другую очередь.
Однако мы хотели бы упростить жизнь наших клиентов, сообщив им только один адрес электронной почты: support@company.com
,
Затем мы будем вести список клиентов, для которых у нас есть контракт, который дает им приоритет.
По сути, нам нужно было бы выполнить некоторую условную переписку получателей на основе поиска по адресу отправителя. Если X@customerA.com
находится в нашем списке приоритетов, адрес получателя должен быть изменен на support-urgent@company.com
РТ, чтобы забрать его в нужную очередь. Если B@companyB.com
нет в списке, то переписывание не потребуется.
Это просто сделать или мне потребуется второй экземпляр Postfix на другом порту?
Спасибо за любую помощь или подсказки. Себ.
2 ответа
RT имеет полностью автоматизированную систему под названием Scrips, которая позволяет вам добавлять действия к каждой транзакции в билете RT. Используя эту систему, вы можете создать новый сценарий "Изменение очереди на основе отправителя". Затем вы можете написать код действия для просмотра адреса электронной почты запрашивающих, просмотреть некоторую конфигурацию, которая сопоставляет домен "из" с вашими очередями, а затем обновить очередь во входящем билете.
В вики сообщества RT есть пример скрипта, который автоматически устанавливает очередь. В вашем случае вы должны иметь возможность просматривать объект Requestor в заявке, так как заявка уже была создана. Условие будет при создании.
Если вы знакомы с инструментами Unix, но не знакомы с Perl, вы также можете выполнить эту обработку почты в procmail.
Вам необходимо добавить в ваш /etc/procmail/main.cf:
mailbox_command = procmail -a "$EXTENSION"
Пример /etc/procmailrc:
:0
* ^From: .*<+X@customerA.com>+
* ^Subject:.*optional.*
| /opt/rt4/bin/rt-mailgate --action correspond --queue urgent --url http://localhost
Вы можете использовать регулярные выражения, чтобы соответствовать списку VIP-пользователей, или сохранить белый список во внешнем файле.
Однако, если вы собираетесь иметь дело с большим количеством конфигураций RT, то, как предположил Джим, лучше потратить время на изучение Scrips.