Where can I tell exim to run a shell/php command everytime a new mail has been delivered to a virtual mailbox. It does not matter to which user the mail is delivered?
You want to look at
For local deliveries (only), if delivery succeeds and the Transport references another Transport in its
shadow_transport option, then that second transport will also be invoked.
You'd then have that second Transport be a
driver = pipe transport.
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
The easyest way I found was creating a new router afterwards delivering to the local users containing:
runscript: driver = accept transport = run_script unseen no_expn no_verify
So, the mail is still handeld the way it should be and my script is running, with the right transport f.e.:
run_script: debug_print = "T: run_script for $local_part@$domain" driver = pipe path = "<path>" command = "<command to be run>"