Exim. Работа с фильтрами.

От клиента поступил нестандартный запрос по настройке работы почтового сервера — всю исходящую корреспонденцию от двух конкретных ящиков необходимо прозрачно дублировать на третий, одновременно с этим, необходимо запретить любые отправления с этого третьего ящика.

  • manager1@domain.com и manager2@domain.com — ящики с которых нужно дублировать почту.
  • control@domain.com — ящик на который нужно дублировать почту, и с которого нужно запретить отправку.

На сервере работал Exim, так что решилось всё с помощью его фильтров следующим образом:

Делаем файл для логов и подключаем в exim файл с фильтрами:

# :>/var/log/filter.log
# cat /etc/exim/exim.conf | grep filt
system_filter = /etc/system_filter.exim

В файле с фильтрами указываем следующие правила…

Запрещаем движение почты если в заголовке есть отправитель control@. В логе оставляем запись о том, что такое-то письмо было заблокировано:

logfile /var/log/filter.log 0644
if (
$header_from contains "control@domain.com"
)
then
logwrite "$tod_log $message_id from $sender_address is blocked"
seen finish
endif

Если отправителем является ящик manager1@ или manager2@, дублируем такое письмо на нужную нам почту:

logfile /var/log/filter.log 0644
if (
$sender_address is "manager1@domain.com"
)
then
logwrite "$tod_log $message_id from $sender_address is redirected"
unseen deliver control@domain.com
endif

logfile /var/log/filter.log 0644
if (
$sender_address is "manager2@domain.com"
)
then
logwrite "$tod_log $message_id from $sender_address is redirected"
unseen deliver control@domain.com
endif

С применением этих правил, необходимая клиенту схема была запущена в работу.

@SysadminNotes | https://sysadmin.pm

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *