อีเมลส่งไม่ออกหรือไม่ได้รับ: วิธีตรวจสอบระบบ Email เบื้องต้น

ตรวจหาสาเหตุเมื่ออีเมลส่งไม่ออกหรือไม่ได้รับ ตั้งแต่การตั้งค่าโปรแกรม ข้อความตีกลับ MX Record ไปจนถึง SPF, DKIM และ DMARC ด้วยตนเองทีละขั้น

โดย ทีมงาน THAI DATA CLOUD อัปเดต อ่าน 14 นาที เข้าชม 4 ครั้ง

แชร์FacebookXLINELinkedIn
Email — อีเมลส่งไม่ออกหรือไม่ได้รับ: วิธีตรวจสอบระบบ Email เบื้องต้น
อีเมลส่งไม่ออกหรือไม่ได้รับ: วิธีตรวจสอบระบบ Email เบื้องต้น

คำตอบสั้น ๆ: ตรวจหาสาเหตุเมื่ออีเมลส่งไม่ออกหรือไม่ได้รับ ตั้งแต่การตั้งค่าโปรแกรม ข้อความตีกลับ MX Record ไปจนถึง SPF, DKIM และ DMARC ด้วยตนเองทีละขั้น

คู่มือนี้อธิบาย Email ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย

ปัญหาอีเมลส่งไม่ออกหรือไม่ได้รับมีสาเหตุได้หลายจุด ตั้งแต่ฝั่งโปรแกรมอีเมลของผู้ใช้ กล่องจดหมายเต็ม การตั้งค่า DNS ของโดเมน ไปจนถึงเซิร์ฟเวอร์ของผู้รับที่คัดกรองอีเมลเป็น Spam คู่มือนี้รวบรวมลำดับการตรวจสอบเบื้องต้นที่ทำได้เองก่อนติดต่อซัพพอร์ต เพื่อให้แยกได้ว่าปัญหาอยู่ที่ส่วนใด และเก็บข้อมูลที่จำเป็นต่อการแก้ไข

หลักสำคัญคือ อ่านข้อความตีกลับ (Bounce Message) ให้ละเอียด เพราะเกือบทุกครั้งเซิร์ฟเวอร์ปลายทางจะบอกเหตุผลไว้ในรหัสและข้อความ Error

สิ่งที่ต้องเตรียม (Email)

  • บัญชีอีเมลที่มีปัญหา และสิทธิ์เข้าเว็บเมลของบัญชีนั้น
  • สิทธิ์เข้า Control Panel (Plesk หรือ DirectAdmin) หรือระบบจัดการ DNS ของโดเมน หากต้องตรวจสอบหรือแก้ไข DNS
  • อีเมลภายนอกสำหรับทดสอบ เช่น Gmail หรือ Outlook.com ส่วนตัว
  • คอมพิวเตอร์ที่ใช้คำสั่ง nslookup หรือ dig ได้

ขั้นตอนที่ 1: แยกให้ได้ว่าปัญหาเกิดกับใคร (Email)

ก่อนแก้ไขอะไร ให้ตอบคำถามต่อไปนี้ เพราะจะช่วยตัดสาเหตุได้มาก

  • เกิดกับทุกบัญชีในโดเมน หรือเฉพาะบางบัญชี
  • ส่งไม่ออกไปยังทุกปลายทาง หรือเฉพาะบางโดเมน เช่น เฉพาะ Gmail
  • ใช้เว็บเมลแล้วเป็นเหมือนกันหรือไม่ ถ้าเว็บเมลปกติแต่โปรแกรมอีเมลมีปัญหา สาเหตุมักอยู่ที่การตั้งค่าโปรแกรม
  • เริ่มเกิดเมื่อไร และมีการเปลี่ยนแปลงอะไรในช่วงนั้น เช่น ย้ายโฮสต์ เปลี่ยน Name Server หรือแก้ DNS

ขั้นตอนที่ 2: กรณีส่งอีเมลไม่ออก (Email)

2.1 ทดสอบส่งจากเว็บเมล

เข้าเว็บเมลแล้วส่งอีเมลไปยังอีเมลภายนอก หากเว็บเมลส่งได้แต่โปรแกรมบนเครื่องส่งไม่ได้ ให้ตรวจการตั้งค่า SMTP ในโปรแกรม ได้แก่ ชื่อเซิร์ฟเวอร์ พอร์ต 465 (SSL/TLS) หรือ 587 (STARTTLS) และต้องเปิดการยืนยันตัวตนด้วย Username ที่เป็นอีเมลเต็ม ดูตัวอย่างการตั้งค่าได้ที่ ตั้งค่าอีเมลบน Mozilla Thunderbird แบบ IMAP

หมายเหตุ: ผู้ให้บริการอินเทอร์เน็ตและผู้ให้บริการคลาวด์จำนวนมากบล็อกพอร์ต 25 ขาออกจากเครื่องลูกข่าย โปรแกรมอีเมลจึงควรใช้พอร์ต 465 หรือ 587 สำหรับส่งเมล ไม่ใช่พอร์ต 25

2.2 ทดสอบว่าเข้าถึงพอร์ต SMTP ได้

บน Windows เปิด PowerShell แล้วรัน

Test-NetConnection mail.example.com -Port 587

บน macOS หรือ Linux ใช้คำสั่งต่อไปนี้ เพื่อดูว่าเซิร์ฟเวอร์ตอบกลับและใบรับรองถูกต้อง

openssl s_client -connect mail.example.com:465 -brief

ผลที่ปกติจะเห็นบรรทัด CONNECTION ESTABLISHED และข้อความต้อนรับจากเซิร์ฟเวอร์ที่ขึ้นต้นด้วย 220 กด Ctrl+C เพื่อออก หากเชื่อมต่อไม่ได้เลย ให้ลองจากเครือข่ายอื่นเพื่อตัดปัญหาการบล็อกพอร์ตในเครือข่ายของคุณ

2.3 อ่านข้อความตีกลับ

หากส่งได้แต่ได้รับอีเมลตีกลับ (มักมาจาก Mail Delivery System หรือ MAILER-DAEMON) ให้ดูรหัสสถานะในเนื้อหา ตารางต่อไปนี้เป็นความหมายที่พบบ่อย ข้อความจริงแตกต่างกันไปตามเซิร์ฟเวอร์ปลายทาง

รหัสความหมายโดยทั่วไปสิ่งที่ควรทำ
550 5.1.1ไม่มีผู้รับรายนี้ในระบบปลายทางตรวจการสะกดที่อยู่อีเมลผู้รับ
552 หรือ 452กล่องจดหมายผู้รับเต็ม หรือไฟล์แนบใหญ่เกินลดขนาดไฟล์แนบ หรือแจ้งผู้รับ
550 5.7.1 หรือ 554ถูกปฏิเสธด้วยนโยบาย เช่น IP ติด Blacklist หรือไม่ผ่าน SPF/DMARCตรวจ SPF, DKIM, DMARC และสถานะ Blacklist
421 หรือ 4xx อื่น ๆปฏิเสธชั่วคราว เซิร์ฟเวอร์จะลองส่งซ้ำเองรอ และตรวจสอบอีกครั้งภายหลัง

รหัสที่ขึ้นต้นด้วย 5 เป็นความล้มเหลวถาวร ต้องแก้สาเหตุก่อนส่งใหม่ ส่วนรหัสที่ขึ้นต้นด้วย 4 เป็นความล้มเหลวชั่วคราว

2.4 ตรวจ SPF, DKIM และ DMARC ของโดเมนผู้ส่ง

ผู้ให้บริการอย่าง Gmail และ Microsoft ตรวจสอบระเบียนเหล่านี้อย่างเข้มงวด หากไม่มีหรือตั้งผิด อีเมลอาจถูกปฏิเสธหรือเข้า Spam ตรวจสอบได้ด้วยคำสั่ง

dig +short TXT example.com
dig +short TXT _dmarc.example.com

ควรพบระเบียนที่ขึ้นต้นด้วย v=spf1 เพียงระเบียนเดียว และระเบียน v=DMARC1 ที่ _dmarc วิธีตั้งค่าอย่างละเอียดอยู่ในคู่มือ ตั้งค่า SPF, DKIM และ DMARC เพื่อลดโอกาสอีเมลเข้า Spam

ขั้นตอนที่ 3: กรณีไม่ได้รับอีเมล

3.1 ตรวจโฟลเดอร์ Spam และตัวกรอง

เข้าเว็บเมลแล้วตรวจโฟลเดอร์ Spam หรือ Junk รวมถึงกฎกรองอีเมล (Filters หรือ Rules) และการส่งต่ออัตโนมัติ (Forwarding) ที่อาจย้ายหรือลบอีเมลก่อนถึง Inbox ถ้าใช้โปรแกรมอีเมลแบบ POP3 บนเครื่องอื่นอยู่ด้วย อีเมลอาจถูกดาวน์โหลดและลบออกจากเซิร์ฟเวอร์ไปแล้ว

3.2 ตรวจพื้นที่กล่องจดหมาย

หากกล่องจดหมายเต็มโควตา เซิร์ฟเวอร์จะปฏิเสธอีเมลใหม่ และผู้ส่งจะได้รับข้อความตีกลับ ตรวจการใช้พื้นที่ได้ที่เว็บเมล หรือใน Control Panel ที่หน้ารายการบัญชีอีเมล ให้ลบอีเมลที่มีไฟล์แนบขนาดใหญ่ และล้างโฟลเดอร์ Trash เพื่อคืนพื้นที่

3.3 ตรวจ MX Record

MX Record บอกเซิร์ฟเวอร์ทั่วโลกว่าต้องส่งอีเมลของโดเมนนี้ไปที่ใด หลังย้ายโฮสต์หรือเปลี่ยน Name Server ปัญหาที่พบบ่อยที่สุดคือ MX ยังชี้ไปที่เดิม ตรวจสอบด้วย

nslookup -type=mx example.com

หรือ

dig +short MX example.com

ผลลัพธ์ควรแสดงชื่อเซิร์ฟเวอร์อีเมลที่ถูกต้อง เช่น 10 mail.example.com. จากนั้นตรวจต่อว่าชื่อนั้นชี้ไปที่ IP ของเซิร์ฟเวอร์อีเมลจริง

dig +short A mail.example.com

หากเพิ่งแก้ไข DNS ต้องรอให้ค่า TTL เดิมหมดอายุก่อน ซึ่งอาจใช้เวลาตั้งแต่ไม่กี่นาทีจนถึงหลายชั่วโมง ดูเพิ่มเติมที่ ตรวจสอบ DNS ด้วย nslookup และ dig

3.4 ขอให้ผู้ส่งส่งข้อความตีกลับมาให้

หากผู้ส่งได้รับข้อความตีกลับ ให้ขอสำเนาทั้งฉบับ เพราะข้อความนั้นจะบอกว่าเซิร์ฟเวอร์ของผู้ส่งพยายามส่งไปที่ใด และถูกปฏิเสธด้วยเหตุผลอะไร หากผู้ส่งไม่ได้รับข้อความตีกลับเลยและ MX ถูกต้อง อีเมลอาจค้างอยู่ในคิวของฝั่งผู้ส่ง หรือถูกระบบกรองของฝั่งผู้รับกักไว้

ขั้นตอนที่ 4: สำหรับผู้ดูแลเซิร์ฟเวอร์ของตนเอง

หากคุณดูแล Cloud Server ที่ติดตั้ง Mail Server เอง (เช่น Postfix) สามารถดูคิวและ Log เพื่อหาสาเหตุได้ ดูคิวอีเมลที่ค้างด้วย

sudo postqueue -p

ค้นหาประวัติการส่งของที่อยู่อีเมลที่สนใจใน Log บน Ubuntu

sudo grep "[email protected]" /var/log/mail.log | tail -n 20

บน AlmaLinux หรือ Rocky Linux ไฟล์ Log อยู่ที่ /var/log/maillog หรือดูผ่าน journald ด้วย

sudo journalctl -u postfix --since "1 hour ago"

ในบรรทัด Log ให้สังเกตค่า status=sent, status=deferred หรือ status=bounced ซึ่งจะมีเหตุผลจากเซิร์ฟเวอร์ปลายทางต่อท้าย นอกจากนี้ IP ของเซิร์ฟเวอร์ที่ส่งอีเมลควรมี Reverse DNS (PTR) ที่ชี้กลับมาเป็นชื่อโฮสต์ของ Mail Server ซึ่งต้องตั้งค่าจากฝั่งเจ้าของ IP

ตรวจสอบผลลัพธ์

  • ส่งอีเมลจากบัญชีของคุณไปยัง Gmail แล้วเปิดอีเมลนั้น คลิกเมนูจุดสามจุด เลือก Show original (แสดงต้นฉบับ) ตรวจว่า SPF, DKIM และ DMARC แสดงผล PASS
  • ส่งอีเมลจาก Gmail กลับมายังบัญชีของคุณ และตรวจว่าเข้า Inbox ภายในไม่กี่นาที
  • ทดสอบทั้งจากเว็บเมลและโปรแกรมอีเมลบนเครื่อง

ปัญหาที่พบบ่อยเกี่ยวกับ Email

อีเมลเข้า Spam ของผู้รับ แม้ส่งถึง

มักเกิดจาก SPF ไม่ครอบคลุมเซิร์ฟเวอร์ที่ใช้ส่งจริง ไม่มี DKIM หรือเนื้อหามีลักษณะคล้าย Spam เช่น มีแต่ลิงก์หรือรูปภาพ ให้แก้ DNS ตามคู่มือ SPF, DKIM, DMARC และหลีกเลี่ยงการส่งอีเมลจำนวนมากจากบัญชีอีเมลปกติ

ส่งจากเว็บไซต์ (ฟอร์มติดต่อ) ไม่ถึง แต่ส่งจากโปรแกรมอีเมลได้

เว็บไซต์ที่ส่งด้วยฟังก์ชัน mail ของ PHP มักไม่ผ่าน SPF หรือ DMARC ของโดเมน แนะนำให้ตั้งค่าเว็บไซต์ให้ส่งผ่าน SMTP ที่ยืนยันตัวตน ดู ตั้งค่า WordPress ให้ส่งอีเมลผ่าน SMTP

รับอีเมลจากบางโดเมนไม่ได้หลังย้ายโฮสต์

เซิร์ฟเวอร์ของผู้ส่งบางรายเก็บผล DNS ไว้ตาม TTL หรือโดเมนมี MX ค้างอยู่ทั้งของเก่าและใหม่ ตรวจว่า MX มีเฉพาะปลายทางที่ถูกต้อง และรอให้ TTL หมดอายุ

IP ของเซิร์ฟเวอร์ติด Blacklist

หากข้อความตีกลับระบุชื่อ Blacklist เช่น Spamhaus ให้หาสาเหตุก่อน เช่น บัญชีอีเมลถูกขโมยรหัสผ่านแล้วถูกใช้ส่ง Spam หรือเว็บไซต์ถูกแฮก ให้เปลี่ยนรหัสผ่านและปิดช่องโหว่ จากนั้นจึงยื่นขอถอดรายชื่อตามขั้นตอนของ Blacklist นั้น

หากตรวจสอบตามขั้นตอนแล้วยังไม่พบสาเหตุ ให้ติดต่อทีมซัพพอร์ต THAI DATA CLOUD ที่ https://thaidata.cloud/contact/ พร้อมแนบข้อความตีกลับทั้งฉบับ ที่อยู่อีเมลผู้ส่งและผู้รับ และวันเวลาที่ส่ง จะช่วยให้ตรวจสอบจาก Log ได้รวดเร็วขึ้น

ทำความเข้าใจ Email ก่อนเริ่ม

ปัญหา Email ส่งไม่ออกหรือไม่ได้รับเกือบทั้งหมดถูกจำกัดขอบเขตได้ภายในไม่กี่นาที ถ้าเริ่มจากคำถามเดียวว่าเกิดกับใครและกับปลายทางไหน ถ้าเกิดกับคนเดียวปัญหามักอยู่ที่โปรแกรม Email บนเครื่องหรือรหัสผ่าน ถ้าเกิดกับทุกคนในองค์กรพร้อมกันมักอยู่ที่ระบบหรือ DNS และถ้าเกิดเฉพาะเวลาส่งไปโดเมนหนึ่งมักอยู่ที่ชื่อเสียงของ IP หรือการตั้งค่าของปลายทาง การไล่ตามลำดับนี้เร็วกว่าการเดา และทำให้ข้อมูลที่ส่งให้ทีมงานมีน้ำหนักพอที่จะตรวจต่อได้ทันที

สิ่งที่ต้องเตรียมก่อนใช้งาน Email

  • ข้อความตีกลับฉบับเต็ม ซึ่งเป็นหลักฐานชิ้นสำคัญที่สุดของปัญหา Email ขาออก
  • ส่วนหัวของอีเมล (Email Header) ฉบับที่มีปัญหา ซึ่งบอกเส้นทางและเวลาที่แต่ละเซิร์ฟเวอร์รับช่วงต่อ
  • ขอบเขตที่ชัดเจน ว่าเกิดกับบัญชีเดียวหรือทุกบัญชี และเกิดกับปลายทางเดียวหรือทุกปลายทาง

ตรวจสอบว่า Email ทำงานถูกต้องแล้ว

  1. ส่งและรับผ่านเว็บเมลได้ตามปกติ ซึ่งแยกได้ทันทีว่าปัญหาอยู่ที่โปรแกรมบนเครื่องหรือที่ระบบ Email
  2. ส่งอีเมลทดสอบไปยังปลายทางนอกองค์กรแล้วได้รับจริง ไม่ใช่แค่ไม่มีข้อความตีกลับ
  3. ตรวจว่าโดเมนของคุณตั้งค่า SPF, DKIM และ DMARC ครบ เพราะสามค่านี้คือสิ่งที่ปลายทางใช้ตัดสินอีเมลของคุณ

ข้อควรรู้และข้อจำกัดของ Email

  • อย่าลบข้อความตีกลับทิ้ง รหัสและข้อความในนั้นระบุสาเหตุไว้ตรง ๆ เกือบทุกครั้ง
  • ถ้าอีเมลเข้าโฟลเดอร์ขยะที่ปลายทาง ปัญหาไม่ได้อยู่ที่การส่ง แต่อยู่ที่ความน่าเชื่อถือของผู้ส่ง ซึ่งแก้ด้วยการตั้งค่า DNS ให้ครบและเลิกส่งอีเมลจำนวนมากจากกล่องจดหมายปกติ
  • ถ้าเพิ่งเปลี่ยนรหัสผ่าน ให้ตรวจทุกอุปกรณ์ เพราะเครื่องที่ยังใช้รหัสผ่านเก่าจะพยายามล็อกอินซ้ำจนบัญชีถูกล็อกชั่วคราว

คำถามที่พบบ่อยเกี่ยวกับ Email

ส่งหาบางโดเมนไม่ได้ แต่โดเมนอื่นปกติ

เป็นเรื่องของปลายทาง ไม่ใช่ระบบ Email ของคุณ ให้ดูข้อความตีกลับว่าปลายทางปฏิเสธด้วยเหตุผลใด ถ้าเป็นเรื่องชื่อเสียงของ IP ต้องให้ผู้ให้บริการประสานกับปลายทางหรือยื่นเรื่องถอดออกจากบัญชีดำ

ไม่ได้รับอีเมลจากผู้ส่งรายเดียว

ให้ผู้ส่งตรวจว่าได้รับข้อความตีกลับหรือไม่ก่อน ถ้าไม่มี แปลว่าอีเมลถูกรับไว้แล้วและน่าจะอยู่ในโฟลเดอร์ขยะหรือถูกกฎการกรองย้ายไป

เปิดหน้าเว็บเมลได้แต่โปรแกรม Email บนเครื่องรับส่งไม่ได้

ปัญหาอยู่ที่การตั้งค่าโปรแกรมหรือเครือข่ายที่ใช้ ให้ตรวจชื่อเซิร์ฟเวอร์ พอร์ต การเข้ารหัส และตัวเลือกยืนยันตัวตนของเซิร์ฟเวอร์ขาออก ซึ่งเป็นสาเหตุอันดับหนึ่งของอาการรับได้แต่ส่งไม่ออก

สรุปขั้นตอน Email

ทบทวน Email ทั้งหมดตามลำดับ ก่อนนำไปใช้กับระบบจริง

  1. แยกให้ได้ว่าปัญหาเกิดกับใคร (Email)
  2. กรณีส่งอีเมลไม่ออก (Email)
  3. กรณีไม่ได้รับอีเมล
  4. สำหรับผู้ดูแลเซิร์ฟเวอร์ของตนเอง

เมื่อทำครบทุกข้อแล้ว Email จะพร้อมใช้งาน หากผลลัพธ์ไม่เป็นไปตามที่คาด ให้ย้อนกลับไปดูหัวข้อปัญหาที่พบบ่อยด้านบน ซึ่งรวบรวมกรณีที่พบจริงจากการใช้งาน Email ไว้แล้ว

อ่านเพิ่มเติมเกี่ยวกับ Email

แชร์FacebookXLINELinkedIn

มีคำถามเรื่องบริการ? ติดต่อทีมงาน