В операційних системах Linux та Unix ви можете використовувати fetchmail
для опитування свого облікового запису електронної пошти IMAP та передавати будь-які нові повідомлення procmail
. Ви можете налаштувати procmail для запуску скриптів на основі відповідних шаблонів регулярних виразів в отриманих повідомленнях.
Для цього вам потрібно встановити пакунки fetchmail та procmail. Наведена нижче конфігурація дозволила мені запустити сценарій для кожного нового повідомлення електронної пошти, що надходить у мій обліковий запис електронної пошти. Я використовував Ubuntu 12.04 LTS.
В ~/.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"
Зверніть увагу на keep
вищезазначену директиву, яка гарантує, що повідомлення не будуть видалені з сервера IMAP після їх отримання.
В ~/.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`
В Інтернеті є багато навчальних посібників для fetchmail та procmail, а також навчальних посібників щодо того, як їх інтегрувати (ось як я придумав вище).
Тепер, якщо я запускаю fetchmail
або fetchmail -v
сценарій /home/username/myscript.sh
запускається один раз для кожного нового повідомлення. Я можу запустити fetchmail в кроні або налаштувати fetchmail для запуску як демон з set daemon 600
директивою в .fetchmailrc
(де 600 - кількість секунд між опитуваннями).