В настоящее время я работаю на сервере Centos 7, который использует exim для обработки электронной почты в сочетании с swiftmailer. Когда письмо отскочит, «ошибка» будет отправлено на мой адрес электронной почты. Вместо того, чтобы получать отскок в виде электронного письма, я хотел бы иметь возможность отправить «ошибку» в сценарий. Если я искал способ сделать это, но я не могу найти ответ в Интернете.
Есть ли способ сделать это вообще? Если так, как это можно сделать?
Вы должны написать один маршрутизатор и один транспорт.
Маршрутизатор должен обнаружить сообщение об отказе отправителем, <>
, Таким образом, вы должны разместить следующий конфиг в начале routers
раздел:
begin routers:
bounce_processor:
driver = accept
condition = ${if eq{$sender_address}{"<>"}}
transport = bounce_script
unseen
. . . . .
глагол unseen
означает, что обработка сообщения не должна останавливаться после соответствующего маршрутизатора, а сообщение обрабатывается двумя разными способами одновременно. Один путь ведет к входящим, а другой — к сценарию.
Далее вы должны создать транспорт. Заказ транспорта не имеет значения:
bounce_script:
driver = pipe
command = /path/script -arg1 -arg2
Здесь сообщение передается по каналу stdin
исполняемого файла, запущенного с некоторыми аргументами. Это все.
Других решений пока нет …