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-curre...