Environment ที่ใช้ทดสอบนะครับ ใช้ Ubuntu 10.04.3, Postfix, Dovecot เป็นหลัก สิ่งที่ต้องการคือ เมื่อมีคนส่ง e-mail มาที่ test@example.com แล้ว ให้ postfix ทำการ pipe email นั้นเข้าสู่โปรแกรม /home/myuser/testperl ซึ่งเป็น perl script ที่ผมเขียนรอไว้ก่อนหน้านี้แล้ว
ทั้งนี้ ตัว postfix ผม config ตัว virtual domains, virtual mailbox ที่ติดต่อกับ mysql server เอาไว้ด้วยนะครับ
เริ่มจาก
- เข้าไปแก้ไข /etc/postfix/main.cf
ที่บรรทัด smtpd_recipient_restrictions เพิ่มคำสั่ง check_recipient_access เข้าไป
smtpd_recipient_restrictions =# bypass checks on outgoing mailpermit_mynetworks# reject if not full email addressreject_non_fqdn_recipient# next line rejects if the account/domain does not exist# ALSO prevents OPEN RELAY - if missing RELAY is OPEN!!# MUST appear before the check_recipient_accessreject_unauth_destination# perform filter access by recipient namecheck_recipient_access hash:/usr/local/etc/postfix/script_filter
- เพิ่ม /etc/postfixscript_filter
test@example.com FILTER support:dummy
- # postmap script_filter จะมีไฟล์ script_filter.db เพิ่มขึ้นมา
- เข้าไปแก้ master.cf
support unix - n n - - pipe flags=Rq user=www argv=/home/myuser/testperl $(sender)$(recipient)
โดยใน perl script จะได้ argument 1 = sender และ argument 2 = receiver
แค่นี้ ระบบก็เรียบร้อยพร้อมใช้งานแล้ว
ไม่มีความคิดเห็น:
แสดงความคิดเห็น