ผมก็เช่า Dedicated Server ไว้สำหรับรับ Mail จาก Inter แล้ว forward กลับมายังเครื่องที่ไทย ปัญหาเกิดขึ้นเมื่อเช้า เมื่อวันนี้หนึ่งในลูกค้าได้รับเมล์จากการติดต่อธุรกิจของเขาจำนวนมาก ซึ่งตัว Server ต้อง forward มายังเครื่องที่ไทย แต่ติด Spam Filter ของผู้ให้บริการ ทำให้มีเมล์รอการ forward จำนวนมาก
ทางแก้
- ให้ผู้ให้บริการยกเลิกการ route port 25 ไปยังเครื่อง Spam Filter
- เปลี่ยน port การที่ใช้ในการ forward ของเราเอง
ผมเลือกการเปลี่ยน port สำหรับ forward message เนื่องจากระบบนี้ใช้ภายในอย่แล้ว ไม่กระทบผู้อื่นแน่นอน และเราสามารถจัดการระบบได้เอง
1. ทางฝั่ง server หลักเปิด port เพิ่ม โดยเพิ่มไปที่ daemon_smtp_ports โดยผมเลือกใช้ port 2000 จะได้เป็น
daemon_smtp_ports = 25 : 2000
จากนั้นทำการ restart exim
2. ฝั่งเครื่อง forward message สร้าง router สำหรับ domain ที่ต้องการ
internal_router: driver = manualroute domains = <domain1.com> : <domain2.com> route_data = <ip mailbox server> transport = internal_smtp
ในที่นี้มี domain ที่ต้องการ forward จำนวนน้อย ถ้าจำนวนมากใช้ lsearch ได้ครับ
3. ฝั่งเครื่อง forward message สร้าง transport driver เพื่อระบุรูบแบบการส่ง
internal_smtp: driver = smtp port = 2000
จากนั้น restart exim ใหม่ก็เป็นอันเรียบร้อย ในกรณีที่ต้องการให้ exim พยายามส่งเมล์ใน queue ทั้งหมดสามารถสั่งโดย
exim -qf
จะเพิ่ม -v เพื่อให้แสดงผลการทำงานต่อท้ายด้วยก็ได้