Nos sistemas operacionais Linux e Unix, você pode usar fetchmail
para pesquisar sua conta de email IMAP e passar novas mensagens para procmail
. Você pode configurar o procmail para executar scripts com base em correspondências de padrão de expressão regular nas mensagens recebidas.
Para fazer isso, você precisará instalar os pacotes fetchmail e procmail. A configuração a seguir me permitiu executar um script para cada nova mensagem de email recebida em minha conta de email. Eu usei o Ubuntu 12.04 LTS.
Em ~/.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"
Observe a keep
diretiva acima, que garante que as mensagens não sejam removidas do servidor IMAP após serem recuperadas.
Em ~/.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`
Existem muitos tutoriais on-line para o fetchmail e o procmail, e também tutoriais sobre como integrar os dois (foi assim que eu vim com o acima).
Agora, se eu executar fetchmail
ou fetchmail -v
o script for /home/username/myscript.sh
executado uma vez para cada nova mensagem. Posso executar o fetchmail em um cron ou configurar o fetchmail para ser executado como um daemon com a set daemon 600
diretiva in .fetchmailrc
(onde 600 é o número de segundos entre as pesquisas).