Voici comment créer un filtre système dans Exim4, pour envoyer certains mails dans un script Bash.
Sous Debian, on ajoute les lignes suivantes dans /etc/exim4/exim4.conf.template
:
system_filter = /etc/exim4/exim.filter system_filter_pipe_transport = address_pipe system_filter_user = Debian-exim
Et le filtre /etc/exim4/exim.filter contient par exemple :
if $h_subject: begins "[MyTest]" and $h_to: contains mytest@example.com then unseen pipe /usr/local/bin/myscript.sh endif
Dans le script .sh, on pourra récupérer le mail complet par l’instruction :
MAIL=`cat`
Notes :
- Le transport “address_pipe” est décrit un peu plus bas dans le fichier de configuration d’Exim.
- Si on ne place pas la directive “system_filter_user”, le script serait lancé en root, et Exim le refuse.
Lien : http://www.exim.org/exim-html-current/doc/html/filter.html