Guide for fix incoming mail from outside problems

Published On Monday, July 23rd, 2012


Email from outside serverถ้าหากประสบปัญหาการรับ email จากภายนอก ซึ่งเป็นสิ่งที่ยุ่งยากมากในการตรวจสอบว่า email ที่ได้ส่งมายัง Mail server เรานี้อยู่ที่ไหน

สิ่งแรกที่ะต้องตรวจสอบคือ log ของระบบ Mail server ซึ่งจะบอกได้ว่าตอนนี้ email ที่ส่งมาจากข้างนอกได้เข้ามายังระบบหรือยัง โดยให้เราตรวจสอบไฟล์ /var/log/zimbra.log โดยใช้คำสั่ง

[shell]# tail -f /var/log/zimbra.log[/shell]

การตรวจสอบให้ดูว่ามี log การรับเมล์จากด้านนอกมาหรือไม่ ถ้าหากมีอาจเกิดจากมีการ config ผิดพลาด และการตั้งค่าพวก DNS หรือ firewall ผิดพลาด

การตรวจการตั้งค่าพวก DNS หรือ firewall

  1. DNS
    ปัญหาการรับเมล์จากถายนอกไม่ได้โดยส่วนมากเกิดจากการตั้งค่า DNS ที่ผิด ดังนั้นให้เราตรวจสอบให้แน่ใจว่าเราได้ตั้งค่า MX recode เรียบร้อยแล้ว โดยา่มารถใช้คำสั่ง

    [shell]# host -t mx domain[/shell]
    หรือ
    [shell]# dig -t mx domain[/shell]

  2. Firewall.

    ให้ตรวจสอบ firewall ได้อนุญาติให้ port 25 สามารถเข้ามาใช้งานได้ ของทั้งเครื่อง mail server เองและ firewall gateway ของระบบ

    คำสั่งในการตรวจสอบ firewall ของเครื่อง mail server

    [shell]# iptables -nL[/shell]

การตรวจสอบ config ภายในระบบ

ให้ตรวจสอบ /var/log/zimbra.log ว่ามีคำว่า postfix/lmtp … deferred … connection refused หรือไม่ ถ้ามีแสดงว่าไม่สามารถ connect ไปยัง LMTP ที่ port 7025 ได้ ทางแก้ไขให้ตรวจสอบดูว่าระบบ mail server ได้ lookup ได้ IP ตรงกับเครื่อง mailbox server หรือไม่ ถ้าหากได้ไม่ตรงให้แก้ไขด้วยการ setup DNS แบบ internal view สำหรับ mail server ขึ้นมา หรือใช้คำสั่ง

[shell]# zmlocalconfig -e postfix_lmtp_host_lookup=native[/shell]

เพื่อให้ postfix ทำการ lookup แบบ native ซึ่งระบบจะไปดึงข้อมูลจาก /etc/hosts มาแทนการ lookup DNS

เมื่อทำการแก้ไขเรียบร้อยแล้วอย่าลืม restart service ด้วยคำสั่ง

[shell]# zmmtactl restart[/shell]

ถ้าหากยังไม่สามารถแก้ไขได้อีกให้ตรวจสอบที่ iptables ว่าได้ทำพวก NAT พิเศษอะไรไว้หรือไม่ ด้วยคำสั่ง

[shell]# iptables -t nat -nL[/shell]