คำตอบสั้น ๆ: 0x8004010F เกิดเมื่อโปรไฟล์ Outlook หาไฟล์ PST หลักไม่เจอ แก้โดยดูตำแหน่งไฟล์ใน Data Files ชี้บัญชีไปที่ไฟล์ให้ถูก หรือสร้างโปรไฟล์ใหม่ที่ใช้ไฟล์เดิม
คู่มือนี้อธิบาย 0x8004010F ทีละขั้นตอน พร้อมคำสั่งที่ใช้ได้จริงและปัญหาที่พบบ่อย
0x8004010F คือรหัสข้อผิดพลาดที่ classic Outlook for Windows แสดงในหน้าต่าง Send/Receive เมื่อส่งหรือรับอีเมลไม่ได้ ข้อความมีสองแบบคือ 0x8004010F: Outlook data file cannot be accessed. และ 0x8004010F: The operation failed. An object could not be found. สาเหตุที่พบบ่อยที่สุดคือโปรไฟล์ Outlook ชี้ไปยังไฟล์ข้อมูล (.pst) ที่ถูกย้าย ถูกเปลี่ยนชื่อ หรือโปรไฟล์เสียหลังอัปเกรด Windows หรือ Office วิธีที่ได้ผลบ่อยที่สุดตามที่ Microsoft แนะนำคือจดตำแหน่งไฟล์ข้อมูลหลักไว้ แล้วสร้างโปรไฟล์ใหม่ที่ใช้ไฟล์เดิม
คู่มือนี้เขียนสำหรับผู้ใช้และผู้ดูแลไอทีที่ใช้อีเมลบริษัทแบบ POP หรือ IMAP ใน classic Outlook ซึ่งเป็นกลุ่มที่เจอ 0x8004010F บ่อยที่สุด และมีหัวข้อแยกสำหรับบัญชี Microsoft 365 หรือ Exchange ที่เจอรหัสนี้ตอนดาวน์โหลดสมุดรายชื่อ เมื่อทำครบ คุณจะรู้ว่าไฟล์ข้อมูลหลักอยู่ที่ไหน โปรไฟล์ชี้ไปที่ไฟล์ถูกต้อง และกด Send/Receive ได้โดยอีเมลเก่าไม่หาย
สิ่งที่ต้องเตรียม
- ตรวจว่าเป็น classic Outlook: classic มีเมนู File มุมซ้ายบน ส่วน new Outlook มีสวิตช์ New Outlook มุมขวาบนและไอคอนรูปเฟือง (Settings) รหัส 0x8004010F เป็นปัญหาของโปรไฟล์และไฟล์ข้อมูลใน classic Outlook ดูเวอร์ชันได้ที่ File > Office Account > About Outlook
- รู้ชนิดบัญชี: File > Account Settings > Account Settings แท็บ Email คอลัมน์ Type จะแสดง POP/SMTP, IMAP/SMTP หรือ Microsoft Exchange
- รหัสผ่านอีเมลและค่าเซิร์ฟเวอร์จากผู้ให้บริการ เช่น เซิร์ฟเวอร์ขาเข้า
mail.example.comIMAP พอร์ต 993 หรือ POP พอร์ต 995 แบบ SSL/TLS และ SMTP พอร์ต 465 หรือ 587 ใช้ชื่อเซิร์ฟเวอร์และพอร์ตที่ผู้ให้บริการอีเมลให้มา เพราะต้องใช้ตอนสร้างโปรไฟล์ใหม่ - สำเนาไฟล์ .pst ก่อนเริ่มขั้นตอนที่ 4 ขึ้นไป ปิด Outlook แล้วคัดลอกไฟล์ไปไว้อีกโฟลเดอร์หรือไดรฟ์ USB
- เบราว์เซอร์สำหรับเปิดเว็บเมลของบัญชีเดียวกัน
สาเหตุของ 0x8004010F
0x8004010F ตรงกับรหัส MAPI_E_NOT_FOUND ในระบบ MAPI ของ Outlook แปลตรงตัวว่า Outlook หาสิ่งที่โปรไฟล์บอกว่ามีอยู่ไม่เจอ สิ่งนั้นอาจเป็นไฟล์ PST ทั้งไฟล์ หรือโฟลเดอร์ Inbox ที่บัญชีใช้รับอีเมล กรณีที่พบจริงในสำนักงาน:
- ไฟล์ข้อมูลหลักถูกย้ายหรือเปลี่ยนชื่อ เช่น ผู้ใช้ย้ายโฟลเดอร์ Documents ไปไดรฟ์ D: หรือเปิด OneDrive ให้สำรองโฟลเดอร์ Documents ทำให้ไฟล์ใน Documents\Outlook Files ย้ายตำแหน่งไปด้วย
- โปรไฟล์เสีย มักเกิดหลังอัปเกรด Windows หรือ Office เป็นสาเหตุที่ Microsoft ระบุไว้ในบทความของรหัสนี้
- บัญชี POP ชี้ไปยังโฟลเดอร์ที่ไม่มีแล้ว เช่น เคยตั้งให้ส่งอีเมลเข้าไฟล์ PST อีกไฟล์ แล้วไฟล์นั้นถูกปิดหรือลบออกจากโปรไฟล์
- ไฟล์อยู่บนไดรฟ์ที่ไม่ได้เชื่อมต่อ เช่น ไดรฟ์เครือข่าย ไดรฟ์ USB หรือโฟลเดอร์ OneDrive ที่กำลังซิงก์
- บัญชี Exchange หรือ Microsoft 365 ข้อความ The operation failed. An object could not be found. ระหว่าง Send/Receive มักมาจากการดาวน์โหลด Offline Address Book ไม่ใช่ไฟล์ PST ดูหัวข้อเฉพาะด้านล่าง
ถ้าข้อความ An object could not be found ขึ้นโดยไม่มีรหัส 0x8004010F หรือขึ้นตอนเปิดโฟลเดอร์ ดูคู่มือแก้ Object Could Not Be Found ซึ่งครอบคลุมกรณีอื่นของข้อความเดียวกัน
ขั้นตอนที่ 1: ยืนยันว่า 0x8004010F เกิดที่เครื่อง ไม่ใช่ที่บัญชี
เปิดเว็บเมลของบัญชีเดียวกันในเบราว์เซอร์แล้วส่งอีเมลทดสอบถึงตัวเอง ถ้าเว็บเมลส่งและรับได้ปกติ แปลว่าบัญชีและเซิร์ฟเวอร์ไม่มีปัญหา ต้นเหตุของ 0x8004010F อยู่ที่โปรไฟล์หรือไฟล์ข้อมูลในเครื่อง ให้ทำขั้นตอนต่อไป ถ้าเว็บเมลเข้าไม่ได้ ให้แก้เรื่องรหัสผ่านหรือบัญชีก่อน
จากนั้นใน classic Outlook ไปที่แท็บ Send / Receive > Send/Receive All Folders (หรือกด F9) แล้วเปิดหน้าต่างความคืบหน้าด้วยปุ่ม Show Progress ดูว่า 0x8004010F ขึ้นที่บัญชีไหนและขึ้นตอนส่ง (Sending) หรือตอนรับ (Receiving) ถ้าในโปรไฟล์มีหลายบัญชีแต่ error ขึ้นบัญชีเดียว ให้แก้เฉพาะบัญชีนั้น บัญชีอื่นไม่ต้องแตะ
ขั้นตอนที่ 2: หาไฟล์ข้อมูลหลักที่โปรไฟล์ใช้อยู่
ไปที่ File > Account Settings > Account Settings แล้วเลือกแท็บ Data Files ไฟล์ที่มีเครื่องหมายถูกหน้าชื่อคือไฟล์ข้อมูลหลัก (default) ซึ่งบัญชี POP ใช้เก็บอีเมลที่ดาวน์โหลดมา จดชื่อและคอลัมน์ Location ไว้ แล้วคลิก Open File Location ถ้า Windows Explorer เปิดโฟลเดอร์และเห็นไฟล์ แปลว่าไฟล์ยังอยู่ ถ้าขึ้นว่าหาโฟลเดอร์ไม่เจอ แปลว่าไฟล์ถูกย้าย ซึ่งเป็นต้นเหตุของ 0x8004010F ที่พบบ่อยที่สุด
ถ้าเปิด Outlook ไม่ได้เลย ดูข้อมูลเดียวกันได้จาก Control Panel > Mail (Microsoft Outlook) > Show Profiles เลือกโปรไฟล์ > Properties > Data Files ตามขั้นตอนในเอกสาร Error 0x8004010F when sending or receiving email ของ Microsoft
ถ้าไฟล์หายจากตำแหน่งเดิม ให้ค้นหาไฟล์ .pst ทั้งหมดในโฟลเดอร์ผู้ใช้ด้วย PowerShell แล้วดูวันที่แก้ไขล่าสุดเพื่อหาไฟล์ที่ใช้อยู่จริง
Get-ChildItem -Path $env:USERPROFILE -Filter *.pst -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, @{n='SizeMB';e={[math]::Round($_.Length/1MB)}}, LastWriteTime
ขั้นตอนที่ 3: ชี้บัญชี POP กลับไปที่โฟลเดอร์ที่ถูกต้อง
ข้อความ An object could not be found ในบัญชี POP มักแปลว่าบัญชีถูกตั้งให้ส่งอีเมลเข้าโฟลเดอร์ที่ไม่มีแล้ว ไปที่ File > Account Settings > Account Settings แท็บ Email เลือกบัญชี ด้านล่างของหน้าต่างจะบอกว่าบัญชีนี้ส่งอีเมลใหม่เข้าโฟลเดอร์ไหนในไฟล์ข้อมูลใด ถ้าตำแหน่งนั้นไม่ใช่ไฟล์จากขั้นตอนที่ 2 ให้คลิก Change Folder เลือก Inbox ของไฟล์ข้อมูลหลัก แล้วคลิก OK
ปิดและเปิด Outlook ใหม่ แล้วกด F9 ถ้า Send/Receive ผ่านและอีเมลทดสอบจากขั้นตอนที่ 1 เข้า Inbox แสดงว่าแก้ 0x8004010F ได้แล้ว ไม่ต้องทำขั้นต่อไป
บัญชี IMAP ไม่มีปุ่ม Change Folder เพราะ Outlook 2013 ขึ้นไปสร้างไฟล์ข้อมูลแยกของบัญชี IMAP เอง ถ้าบัญชีที่มีปัญหาเป็น IMAP ให้ข้ามไปขั้นตอนที่ 5