[Exim] Filtre système
Par dooblem le mardi 7 juillet 2009, 17h02 - Linux - Lien permanent
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.

Commentaires
Merci pour cette astuce qui vient de me permettre de résoudre mon problème de pipe avec Exim.