Exim: молча отбрасывать сообщения указанным получателям?
У меня есть старое php-приложение, которое раньше отправляло журнал отладочных писем по каждому аспекту его работы. Из-за того, что никто не хочет отключать эту функцию, а также из-за того, что однажды нам может понадобиться эта рассылка для повторной отправки, я просто хочу остановить сообщения для некоторых получателей на моем Exim.
Таким образом, вопрос заключается в следующем: как я могу молча отбрасывать (скажем, перенаправлять в черную дыру) сообщения, которые отправляются получателям, адреса которых указаны в текстовом файле? Адрес является внешним, а не локальным.
Забавно сказать, что сравнить $local_part@$domain с текстовым файлом довольно просто, но я не смог найти переменную одного получателя. Я могу представить, что мне следует создать новый маршрутизатор в конфигурации exim,
driver = redirect
data = :blackhole:
но я не смог построить правильное условие.
Возможно ли это вообще, и как правильно его заархивировать?
Спасибо!
1 ответ
dropper:
driver = accept
condition = ${lookup{$local_part}lsearch{/path/drop.list}{yes}}
transport = null_transport
/path/drop.list
:
aaron
amanda
bob
. . . . .
Каждый раз, когда приходит сообщение для указанного пользователя, оно будет отброшено. Большим преимуществом этого является то, что список проверяется для каждого входящего электронного письма. Таким образом, когда вы хотите включить / отключить получение сообщений для любого пользователя в любой момент, вы просто удаляете / добавляете имя пользователя (или комментируете / раскомментируете имя пользователя) в drop.list
файл; перезагрузка exim не требуется.