Где я могу сказать exim, что нужно запускать команду shell / php каждый раз, когда новая почта доставляется в виртуальный почтовый ящик. Не имеет значения, какому пользователю доставляется почта?
Учитывая, что у вас, по-видимому, есть реальный пользователь, которому можно доставить, вы, вероятно, захотите изучить .forward
файл или, возможно, procmail, если вы хотите стать немного более привлекательным (например, если вы хотите запустить команду только для подмножества сообщений, доставленных пользователю).
Ты хочешь посмотреть на shadow_transport
.
Для локальных доставок (только), если доставка успешна и Транспорт ссылается на другой Транспорт в своем shadow_transport
опция, то второй транспорт также будет активирован.
Тогда у вас будет второй Транспорт. driver = pipe
транспорт.
Например:
maildir_delivery:
driver = appendfile
directory = ...blah blah whatever ...
maildir_format
# various other maildir extension options if needed
shadow_transport = audit_delivery
audit_delivery:
driver = pipe
command = /some/path/to/some/command with some options
user = audituser
group = mail
Самый простой способ, который я нашел, - это создать новый маршрутизатор, который впоследствии будет доставить локальным пользователям:
runscript:
driver = accept
transport = run_script
unseen
no_expn
no_verify
Итак, почта по-прежнему обрабатывается так, как должна, и мой скрипт работает, с правильным транспортом, например:
run_script:
debug_print = "T: run_script for $local_part@$domain"
driver = pipe
path = "<path>"
command = "<command to be run>"