บน 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 ใน cron หรือกำหนดค่า fetchmail ให้ทำงานเป็น daemon ที่มีset daemon 600
คำสั่งใน.fetchmailrc
(โดยที่ 600 คือจำนวนวินาทีระหว่างโพล)