คำตอบสั้น ๆ: 0x800CCC0E คือ Outlook ต่อเซิร์ฟเวอร์อีเมลไม่ติดตั้งแต่ต้น มักเพราะชื่อเซิร์ฟเวอร์หรือพอร์ตผิด หรือพอร์ตถูกบล็อก แก้โดยตั้งค่าให้ตรงผู้ให้บริการแล้วทดสอบพอร์ต
คู่มือนี้อธิบาย 0x800CCC0E ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
0x800CCC0E คือรหัสที่ classic Outlook for Windows แสดงเมื่อเปิดการเชื่อมต่อไปยังเซิร์ฟเวอร์อีเมลไม่สำเร็จตั้งแต่ต้น หน้าต่างส่งรับอีเมลจะขึ้นข้อความทำนอง Task '[email protected] - Sending' reported error (0x800CCC0E) ตามด้วย Outlook cannot connect to your outgoing (SMTP) e-mail server ถ้าเป็นฝั่งรับของบัญชี IMAP จะเป็น Error: Cannot connect to the server. If you continue to receive this message, contact your server administrator or Internet service provider (ISP). สาเหตุที่พบบ่อยที่สุดคือชื่อเซิร์ฟเวอร์หรือพอร์ตไม่ตรงกับที่ผู้ให้บริการอีเมลกำหนด หรือพอร์ตถูก firewall หรือผู้ให้บริการอินเทอร์เน็ตบล็อก วิธีที่แก้ได้บ่อยที่สุดคือตั้งเซิร์ฟเวอร์ พอร์ต และชนิดการเข้ารหัสให้ตรงกับค่าของผู้ให้บริการ แล้วทดสอบพอร์ตจากเครื่องด้วย PowerShell
คู่มือนี้สำหรับผู้ใช้และผู้ดูแลไอทีที่ใช้อีเมลบริษัทแบบ POP หรือ IMAP ใน classic Outlook (Microsoft 365 Apps, Outlook 2024, 2021 และรุ่นเก่าอย่าง 2019, 2016) ไล่จากการตรวจที่ใช้เวลาไม่กี่นาทีและไม่แตะข้อมูล ไปจนถึงการลบบัญชีแล้วเพิ่มใหม่ เมื่อทำจบ คุณจะรู้ว่า 0x800CCC0E เกิดที่การตั้งค่าใน Outlook ที่เครือข่าย หรือที่เซิร์ฟเวอร์ และแก้ได้ตรงจุดโดยอีเมลไม่หาย
สิ่งที่ต้องเตรียม
- รู้ว่าใช้ Outlook แบบไหน classic Outlook มีเมนู File ที่มุมซ้ายบน ส่วน new Outlook ไม่มีเมนู File แต่มีไอคอนรูปเฟือง (Settings) และสวิตช์ New Outlook ที่มุมขวาบน รหัส 0x800CCC0E เป็นของ classic Outlook ถ้าใช้ new Outlook ให้อ่านหัวข้อ new Outlook ด้านล่าง
- ค่าเซิร์ฟเวอร์จากผู้ให้บริการอีเมล ได้แก่ ชื่อเซิร์ฟเวอร์ขาเข้า (IMAP หรือ POP3) ขาออก (SMTP) พอร์ต และชนิดการเข้ารหัสของแต่ละฝั่ง ตัวอย่างในคู่มือนี้ใช้
mail.example.comให้ใช้ชื่อเซิร์ฟเวอร์และพอร์ตที่ผู้ให้บริการอีเมลให้มา - รหัสผ่านอีเมลปัจจุบันที่ทดสอบแล้วว่าเข้า webmail ได้
- Windows PowerShell บนเครื่องที่มีปัญหา คำสั่งทดสอบพอร์ตไม่ต้องใช้สิทธิ์ผู้ดูแล
- ถ้าบัญชีเป็น POP ให้สำรองไฟล์ PST ไว้ก่อนถึงขั้นตอนลบบัญชี
สาเหตุของ 0x800CCC0E: Cannot connect to the server
0x800CCC0E หมายความว่า Outlook เปิดการเชื่อมต่อ TCP ไปยังเซิร์ฟเวอร์ไม่ได้ ยังไม่ถึงขั้นส่งชื่อผู้ใช้หรือรหัสผ่าน จึงแทบไม่ใช่ปัญหารหัสผ่านโดยตรง สาเหตุแบ่งได้เป็นกลุ่มนี้
- ชื่อเซิร์ฟเวอร์ผิดหรือหาไม่เจอ: พิมพ์ผิด ยังใช้ชื่อเซิร์ฟเวอร์เก่าหลังย้ายผู้ให้บริการ หรือ DNS ของโดเมนเพิ่งเปลี่ยนและยังไม่ถึงเครื่องนี้
- พอร์ตผิด: ตั้ง SMTP เป็น 25 ทั้งที่ผู้ให้บริการเปิดรับ 587 หรือ 465 หรือใช้พอร์ต IMAP กับบัญชี POP
- พอร์ตถูกบล็อกระหว่างทาง: ผู้ให้บริการอินเทอร์เน็ตหลายรายบล็อกพอร์ต 25 ขาออกเพื่อกันสแปม firewall ของบริษัทเปิดเฉพาะเว็บ หรือแอนตี้ไวรัสที่มีโมดูลสแกนอีเมลกั้นการเชื่อมต่อ
- เซิร์ฟเวอร์ปฏิเสธ IP ของคุณ: เซิร์ฟเวอร์อีเมลหลายระบบบล็อก IP ชั่วคราวเมื่อมีการล็อกอินผิดซ้ำ ทั้งออฟฟิศที่ออกอินเทอร์เน็ตด้วย IP เดียวกันจึงเจอ 0x800CCC0E พร้อมกัน
- เซิร์ฟเวอร์ล่มหรือปิดปรับปรุง: ทุกเครื่องและทุกเครือข่ายเจอเหมือนกัน และ webmail มักเข้าไม่ได้ด้วย
- VPN หรือ proxy: VPN แบบส่งทุกทราฟฟิกกลับออฟฟิศ อาจพาทราฟฟิกอีเมลไปออกทางที่ไม่เปิดพอร์ตอีเมล
ตรวจเร็วก่อนลงมือ: เปิด webmail ของบริษัทในเบราว์เซอร์แล้วส่งอีเมลถึงตัวเองหนึ่งฉบับ ถ้าเข้าได้และส่งได้ แปลว่าเซิร์ฟเวอร์และบัญชีปกติ ปัญหาอยู่ที่การตั้งค่าใน Outlook หรือเส้นทางเครือข่ายจากเครื่องไปยังพอร์ตอีเมล ถ้า webmail ก็เข้าไม่ได้ ให้ข้ามไปขั้นตอนที่ 5
ขั้นตอนที่ 1: ดูว่า 0x800CCC0E ขึ้นตอนส่งหรือตอนรับ
ใน classic Outlook ไปที่แท็บ Send / Receive คลิก Show Progress แล้วเปิดแท็บ Errors ในหน้าต่างความคืบหน้า อ่านชื่องานหน้ารหัส
- ถ้าเป็น
Sendingหรือข้อความมีคำว่า outgoing (SMTP) ปัญหาอยู่ที่เซิร์ฟเวอร์ขาออก ส่วนใหญ่เป็นพอร์ต SMTP ที่ถูกบล็อก ดูรายละเอียดเพิ่มในคู่มือ 0x80042109 ต่อ SMTP ไม่ได้ - ถ้าเป็น
Receiving,Check for new mailหรือSynchronizing subscribed foldersปัญหาอยู่ที่เซิร์ฟเวอร์ขาเข้า (POP3 หรือ IMAP) - ถ้ามีหลายบัญชี ดูชื่อบัญชีในข้อความด้วย บ่อยครั้งมีบัญชีเดียวที่เจอ 0x800CCC0E
ทดสอบเพิ่มอีกข้อที่ใช้เวลาไม่ถึงนาที: ต่อเครื่องเข้ากับ hotspot ของมือถือชั่วคราวแล้วกด F9 ถ้า 0x800CCC0E หายไปทันที แปลว่าเครือข่ายของออฟฟิศกั้นพอร์ตอีเมล ข้ามไปขั้นตอนที่ 4 ได้เลย ถ้ายังขึ้นเหมือนเดิมบนทุกเครือข่าย ให้ตรวจค่าในขั้นตอนที่ 2 ต่อ
ขั้นตอนที่ 2: ตรวจชื่อเซิร์ฟเวอร์ พอร์ต และการเข้ารหัส
classic Outlook ของ Microsoft 365, 2024 และ 2021
- ไปที่ File เลือกบัญชีที่มีปัญหาจากรายการด้านบนของหน้า Account Information
- คลิก Account Settings > Server Settings จะเปิดหน้าต่าง IMAP Account Settings (หรือหน้าต่างของบัญชี POP)
- ในส่วน Incoming mail ตรวจ Server, Port และ Encryption method แล้วคลิก Outgoing mail เพื่อตรวจค่าเดียวกันของฝั่ง SMTP
- แก้ให้ตรงกับค่าที่ผู้ให้บริการให้มา คลิก Next แล้ว Done
Outlook 2019, 2016 และหน้าต่างแบบเดิม
ไปที่ File > Account Settings > Account Settings เลือกบัญชี > Change > More Settings แท็บ Advanced คือที่ตั้งพอร์ตและการเข้ารหัส ถ้าปุ่ม Change เปิดหน้าต่างแบบใหม่ที่ไม่มี More Settings ให้ปิด Outlook แล้วเข้าทาง Control Panel > Mail (Microsoft Outlook) > Email Accounts แทน หน้าต่างแบบเดิมมีปุ่ม Test Account Settings ที่บอกแยกได้ว่าการล็อกอินขาเข้าหรือการส่งอีเมลทดสอบเป็นฝั่งที่ล้มเหลว
ค่ามาตรฐานที่ผู้ให้บริการส่วนใหญ่ใช้ ถ้าค่าของคุณต่างจากนี้ให้ยึดค่าของผู้ให้บริการ
- IMAP: พอร์ต 993 แบบ SSL/TLS
- POP3: พอร์ต 995 แบบ SSL/TLS
- SMTP: พอร์ต 465 แบบ SSL/TLS หรือพอร์ต 587 แบบ STARTTLS
- พอร์ต 143 (IMAP) และ 110 (POP3) เป็นพอร์ตแบบไม่เข้ารหัสหรือใช้ STARTTLS ส่วนพอร์ต 25 ใช้ส่งระหว่างเซิร์ฟเวอร์และมักถูกบล็อกจากเครือข่ายผู้ใช้
ถ้าแก้พอร์ตแล้ว error เปลี่ยนจาก 0x800CCC0E เป็น 0x800CCC1A แปลว่าเส้นทางเปิดแล้วแต่ชนิดการเข้ารหัสยังไม่ตรงกับพอร์ต ให้จับคู่ตามคู่มือ 0x800CCC1A เรื่อง SSL และพอร์ต วิธีวัดผลของขั้นนี้: กด F9 แล้วส่งอีเมลทดสอบถึงตัวเอง ถ้าเข้าถึง Inbox และไม่มี error แสดงว่าแก้แล้ว ไม่ต้องทำขั้นต่อไป
ขั้นตอนที่ 3: ทดสอบว่าเครื่องต่อพอร์ตอีเมลได้จริง
เมื่อค่าใน Outlook ถูกแล้วแต่ 0x800CCC0E ยังอยู่ ให้พิสูจน์ว่าเครื่องเปิดการเชื่อมต่อไปยังพอร์ตนั้นได้หรือไม่ เปิด Windows PowerShell (ไม่ต้อง Run as administrator) แล้วรันทีละบรรทัด เปลี่ยนชื่อเซิร์ฟเวอร์และพอร์ตเป็นค่าของคุณ
Resolve-DnsName mail.example.com
Test-NetConnection mail.example.com -Port 993
Test-NetConnection mail.example.com -Port 587
Test-NetConnection mail.example.com -Port 465
- Resolve-DnsName ต้องได้ IP กลับมา ถ้าขึ้นว่าหาชื่อไม่เจอ ปัญหาคือชื่อเซิร์ฟเวอร์ผิดหรือ DNS ไม่ใช่ Outlook
- TcpTestSucceeded : True แปลว่าเส้นทางถึงพอร์ตนั้นเปิดอยู่ ถ้าพอร์ตที่ตั้งใน Outlook ได้ True แต่ยังเจอ 0x800CCC0E ให้สงสัยแอนตี้ไวรัสบนเครื่องที่กั้นเฉพาะ Outlook หรือค่าที่บันทึกไว้ในโปรไฟล์ ไปขั้นตอนที่ 4 และ 6
- ถ้าได้ WARNING: TCP connect to ... failed และ TcpTestSucceeded : False แปลว่าพอร์ตถูกกั้นหรือเซิร์ฟเวอร์ไม่ได้เปิดพอร์ตนั้น ลองรันคำสั่งเดียวกันบน hotspot ของมือถือเพื่อแยกว่าเป็นเครือข่ายออฟฟิศหรือฝั่งเซิร์ฟเวอร์
ถ้าเปิด Telnet Client ไว้แล้ว (Windows ไม่ได้ติดตั้งให้ ต้องเปิดที่ Turn Windows features on or off) ทดสอบด้วย telnet mail.example.com 587 เซิร์ฟเวอร์ SMTP ปกติจะตอบบรรทัดที่ขึ้นต้นด้วย 220 ส่วนพอร์ต 465, 993 และ 995 รอการเข้ารหัสทันที หน้าจอว่างจึงเป็นเรื่องปกติของพอร์ตกลุ่มนี้
ดูพารามิเตอร์ทั้งหมดของคำสั่งได้ในเอกสาร Test-NetConnection ของ Microsoft
ขั้นตอนที่ 4: แก้พอร์ตที่ถูกบล็อกโดยไม่ปิดระบบป้องกัน
เลือกวิธีตามผลของขั้นตอนที่ 3
- พอร์ต 25 ไม่ผ่าน แต่ 587 หรือ 465 ผ่าน: เปลี่ยน SMTP ใน Outlook เป็นพอร์ตที่ผ่านและผู้ให้บริการรองรับ คือ 587 คู่กับ STARTTLS หรือ 465 คู่กับ SSL/TLS แล้วเปิดการยืนยันตัวตนขาออกที่ More Settings > แท็บ Outgoing Server > My outgoing server (SMTP) requires authentication > Use same settings as my incoming mail server พอร์ต 587 และ 465 ส่วนใหญ่ไม่รับอีเมลที่ไม่ยืนยันตัวตน
- ทุกพอร์ตอีเมลไม่ผ่านเฉพาะในออฟฟิศ: ให้ผู้ดูแล firewall อนุญาตทราฟฟิกขาออก TCP ไปยัง IP ของเซิร์ฟเวอร์อีเมลเฉพาะพอร์ตที่ใช้ (เช่น 993 และ 465) ไม่ต้องเปิดทุกพอร์ต
- พอร์ตผ่านใน PowerShell แต่ Outlook ยังเจอ 0x800CCC0E: แอนตี้ไวรัสของผู้ผลิตบางรายมีโมดูลสแกนอีเมลหรือสแกน SSL ที่แทรกอยู่ระหว่าง Outlook กับเซิร์ฟเวอร์ ให้อัปเดตโปรแกรมเป็นรุ่นล่าสุดก่อน ถ้ายังไม่หาย ให้ผู้ดูแลปรับการสแกนอีเมลตามคู่มือของผู้ผลิต โดย real-time protection ของเครื่องยังเปิดอยู่ อย่าถอนหรือปิดแอนตี้ไวรัสทั้งตัวเพื่อให้ข้อความหายไป
- หายเมื่อหลุด VPN: แจ้งผู้ดูแล VPN ให้ตรวจว่าเส้นทางที่ VPN ส่งออกไปเปิดพอร์ตอีเมลหรือไม่
วิธีวัดผล: รัน Test-NetConnection กับพอร์ตใหม่ได้ True แล้วกด F9 ใน Outlook ถ้าหน้าต่าง Send/Receive ไม่มี 0x800CCC0E และอีเมลทดสอบถึงตัวเองเข้า Inbox แสดงว่าแก้แล้ว