Linux ve Unix işletim sistemlerinde, fetchmail
IMAP e-posta hesabınızı yoklamak ve yeni iletileri iletmek için kullanabilirsiniz procmail
. Procmail'i alınan iletilerdeki normal ifade kalıbı eşleşmelerine göre komut dosyaları çalıştıracak şekilde yapılandırabilirsiniz.
Bunu yapmak için, fetchmail ve procmail paketlerini kurmanız gerekir. Aşağıdaki yapılandırma, e-posta hesabıma alınan her yeni e-posta iletisi için bir komut dosyası çalıştırmamı sağladı. Ubuntu 12.04 LTS kullandım.
İçinde ~/.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"
Not keep
alındıktan konum sonra iletiler IMAP sunucusundan kaldırılmaz hangi olmasını sağlar ki yukarıdaki yönergeyi.
İçinde ~/.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 ve procmail için çevrimiçi çok sayıda öğretici ve ayrıca ikisini nasıl entegre edeceğinize dair öğreticiler var (yukarıdakileri bu şekilde buldum).
Şimdi her yeni mesaj için çalıştırırsam fetchmail
veya fetchmail -v
komut dosyası bir /home/username/myscript.sh
kez çalışırsa. Fetchmail'i bir cronda çalıştırabilir veya fetchmail'i set daemon 600
direktifle .fetchmailrc
(burada 600 arasında anketler arasındaki saniye sayısı) bir daemon olarak çalışacak şekilde yapılandırabilirim .