En los sistemas operativos Linux y Unix, puede utilizar fetchmail
para sondear su cuenta de correo electrónico IMAP y pasar cualquier mensaje nuevo a procmail
. Puede configurar procmail para ejecutar scripts basados en coincidencias de patrones de expresión regular en los mensajes recibidos.
Para hacer esto, necesitará instalar los paquetes fetchmail y procmail. La siguiente configuración me permitió ejecutar un script para cada nuevo mensaje de correo electrónico recibido en mi cuenta de correo electrónico. Usé Ubuntu 12.04 LTS.
En ~/.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"
Tenga en cuenta la keep
directiva anterior, que garantiza que los mensajes no se eliminen del servidor IMAP después de que se recuperen.
En ~/.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`
Hay muchos tutoriales en línea para fetchmail y procmail, y también tutoriales sobre cómo integrar los dos (así es como se me ocurrió lo anterior).
Ahora si ejecuto fetchmail
o fetchmail -v
el script se /home/username/myscript.sh
ejecuta una vez por cada nuevo mensaje. Puedo ejecutar fetchmail en un cron, o configurar fetchmail para que se ejecute como un demonio con la set daemon 600
directiva en .fetchmailrc
(donde 600 es el número de segundos entre encuestas).