Sur les systèmes d'exploitation Linux et Unix, vous pouvez utiliser fetchmail
pour interroger votre compte de messagerie IMAP et transmettre tout nouveau message à procmail
. Vous pouvez configurer procmail pour exécuter des scripts basés sur des correspondances de modèles d'expressions régulières dans les messages reçus.
Pour ce faire, vous devrez installer les packages fetchmail et procmail. La configuration suivante m'a permis d'exécuter un script pour chaque nouveau message électronique reçu sur mon compte de messagerie. J'ai utilisé Ubuntu 12.04 LTS.
Dans ~/.fetchmailrc
:
# .fetchmailrc checks my e-mail account for new messages, sends them to procmail
set logfile /home/myusername/fetchmail.log
poll mail.domain.com protocol IMAP
user "emailaccountname"
password 'emailpassword'
folder 'INBOX'
keep
ssl
mda "/usr/bin/procmail -f %F"
Notez la keep
directive ci-dessus, qui garantit que les messages ne sont pas supprimés du serveur IMAP après leur récupération.
Dans ~/.procmailrc
:
# .procmailrc received e-mails from fetchmail and runs a script
PATH=/usr/bin:/usr/local/bin
LOGFILE=/home/username/procmail.log
SHELL=/bin/sh
# This rule triggers for every e-mail message:
:0
| `/home/username/myscript.sh`
Il existe de nombreux didacticiels en ligne pour fetchmail et procmail, ainsi que des didacticiels sur la façon d'intégrer les deux (c'est comme ça que j'ai trouvé ce qui précède).
Maintenant, si je lance fetchmail
ou si fetchmail -v
le script /home/username/myscript.sh
s'exécute une fois pour chaque nouveau message. Je peux exécuter fetchmail dans un cron, ou configurer fetchmail pour qu'il s'exécute en tant que démon avec la set daemon 600
directive in .fetchmailrc
(où 600 est le nombre de secondes entre les interrogations).