วิธีกู้ข้อมูล Outlook Express จากไฟล์ bak หรือ dbx

NotebookLookup
0

ต่อเนื่องจากเย็นวันก่อน PC ที่ทำงานไม่สามารถใช้งาน Outlook Express ส่งหรือรับเมล์ได้เลยตั้งแต่ช่วงเช้า
มีข้อความแจ้งประมาณว่าไม่สามารถติดต่อได้ เช่น SMTP Port: 0 Secure or 0x800c0131
ซึ่งเป็นอาการเสียปกติของ Outlook Express ที่ใช้งานมานานๆ คือ ไฟล์ Database ของโฟลเดอร์ที่เก็บเมล์มีขนาดเกิน 2GB ปกติจะเป็นกับ inbox, sent
ไฟล์ที่มักจะเต็มอยู่บ่อยๆ คือ inbox.dbx
ปกติวิธีแก้ไขคือ การย้ายไฟล์ inbox.dbx ไปไว้ในโฟลเดอร์ใหม่ เช่น inbox => inbox052019
ก็คือ การสร้างและย้ายข้อมูลที่เต็มไปเก็บไว้ในโฟลเดอร์ใหม่ วิธีแบบละเอียดจะอยู่ที่เว็บนี้
แต่กรณีนี้ยังไม่ทันได้ย้ายหรือ Backup ไว้เลย เพราะถูกบอกมาว่าให้ใช้คำสั่ง file > folder > compact

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

สรุปวิธีการวิธีกู้ข้อมูล Outlook Express จากไฟล์ bak,dbx

– ปกติจะเหลือไฟล์ inbox.bak เหลือไว้ใน Recycle Bin ถ้ามีก็ยังพอกู้เมล์กลับมาได้ งานนี้ไฟล์เต็มพอกัด 2GB ได้ข่าวว่าเมล์มีเป็นพันๆ
– copy ไฟล์ inbox.bak แล้วสำเนามาอีกไฟล์ (สำรองข้อมูล) พร้อมเป็นนามสกุลเป็น inbox.dbx

**ไฟล์ inbox.dbx ตัวนี้จะเอาไปใช้กับ outlook express ตรงๆไม่ได้ โปรแกรมมันจะมองไม่เห็นเมล์
ถึงจะก๊อปปี้เอาไปวางไว้ทับไฟล์ inbox.dbx เดิม ก็ไม่ได้ผล เพราะผมลองดูแล้ว

**วิธีที่เราจะดึงเมล์ส่วนใหญ่ที่อยู่ในไฟล์ inbox.dbx นี้กลับมาก็คือ การแตกไฟล์เมล์ทั้งหมดให้ออกมาเป็นไฟล์ eml แล้วค่อยดึงกลับเข้าโปรแกรม Outlook อีกที

เริ่มจากดาวน์โหลดโปรแกรม DataNumen Outlook Express Repair
จากเว็บ https://www.datanumen.com/outlook-express-repair/ หรือ ไฟล์สำรองที่นี่
ข้อดีของโปรแกรมหากเทียบโปรแกรมแบบเดียวกัน (ยี่ห้ออืนๆ) นี้คือ ง่าย ฟรี และแทบไม่มีข้อจำกัด
เรื่องนี้โปรแรกมเขาแจ้งไว้แล้ว คือ กดทดลองใช้งานได้และไม่มีข้อจำกัด ตัวแอพฟรีและเสียเงินทำงานพื้นฐานได้เหมือนๆกัน

โปรแกรมนี้จะช่วยแตกไฟล์อีเมล์ออกมาเป็นฉบับละ 1 ไฟล์ออกมาจาก inbox.dbx แตกออกมาเป็นไฟล์ .eml
ชื่อไฟล์จะอ้างอิงขากชื่ออีเมล์ แต่ไม่รองรับภาษาไทย ดังนั้นตัวหนังสือที่ได้จะอยู่ในรูปแบบโค้ด
แต่เนื้อหาและไฟล์ส่วนใหญ่ยังอยู่ในรูปแบบเดิม ไฟล์แนบไม่แน่ใจจะว่าครับหรือเปล่า และมีเมล์บางฉบับที่กู้คืนมาไม่ได้ด้วย หรือเนื้อหาอาจจะพังไปเลย
วิธีใช้งานคือ กดเลือกไฟลื inbox.dbx ในช่องบน ส่วนช่องล่างเลือกโฟลเดอร์ที่จะเอาไว้เก็บไฟล์ eml
ตั้งค่าเสร็จก็กด Start Repair แล้วรอได้ สำหรับไฟล์ 2GB รอประมาณ 10 นาที


ไฟล์อีเมล์ที่แตกออกมาจะเราสามารถกดเข้าไปดูเนื้อหาได้
บางไฟล์ก็พัง ข้อมูลเละไปหมด

บางไฟล์ก็โล่งๆ ไม่มีข้อมูล

อันนี้ไฟล์ปกติ

**อาจจะไม่จำเป็นนัก แต่เราสามารถเปลี่ยนชื่อไฟล์จากตัวต่างดาวเป็นภาษาไทยได้ด้วยการลากไฟล์ eml เข้า Thunderbird แล้ว save as ออกมาเป็นไฟล์ eml อีกที (สำหรับคนทีอยากอ่านหัวเมล์)
เอาเป็นว่าตอนนี้ได้ไฟล์ eml จำนวนมหาศาลมาแล้ว ต่อไปผมแนะนำว่าลองเช็คคร่าวๆว่าเมล์ไหนเสีย จะได้ลบออกไป อย่างกรณีนี้ผมได้ไฟล์ eml มาเกือบๆ 7000 ไฟล์ มีไฟล์เสียประมาณ 2000

ต่อไปการเอาไฟล์ EML เข้าโปรแกรม Outlook Express

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

แล้วถ้าอยากเอาไฟล์ EML เข้าโปรแกรม Outlook เวอร์ชั่นอื่นๆ เช่น Outlook 2010

แต่ถ้าเป็นการ Import เข้า Outlook ตัวที่ใหม่กว่า (หลังจาก Windows XP) จะลากวางตรงๆไม่ได้แล้ว เพราะ ชื่อเมล์ จะกลายเป็นชื่อไฟล์ ชื่อคนรับส่งจะกลายเป้นชื่อตัวเอง วันเวลาก็จะกลายเป็นวันปัจจุบัน
ผมลองหาวิธีดูหลายๆที่แล้วว่าจะเอาไฟล์ .eml เข้า outlook ได้ยังไง พบว่าส่วนมากจะเป็นโปรแกรมที่จำหน่าย
จริงๆ มีอีกวิธีแต่ผมลองกับเครื่องตัวเองแล้วไม่ได้ผลคือ File > Open > Import > Import Internet Mail and Addresses แต่ลองแล้วไม่ผ่าน โปรแรกมบอกว่าไฟล์ eml ถูกใช้งานด้วยโปรแรกมอะไรสักอย่าง หรือบางทีก็บอก error โปรแกรมใช้งานส่วนนี้ไม่ได้ให้เปิดปิดใหม่อีกที ลองอยู่หลายที จนทนไม่ไหวก็ล้มเลิกไปครับ

สุดท้ายผมก็พบวิธีแบบฟรี ทั้งแบบใช้โปรแกรมเสริมและแบบไม่ใช้ และผลของการทำแต่ละวิธี

เรียงลำดับจากวิธีที่เกือบจะได้ผลไปจนถึงวิธีที่เสถียรที่สุด
1. ลากไฟล์ไปวางใน Outlook Express แล้วเอาไฟล์ .dbx มาแปลงเป็น .pst ให้สามารถเอาเข้าโปรแกรม Outlook 2010
ผลการทดลอง: หาโปรแกรมฟรีๆที่ใช้แปลงไฟล์ .dbx เป็น .pst ไม่ได้เลย มีแต่แบบเสียเงิน เลยข้ามวิธีนี้ไป
**ทั้งขี้เหนียวและไม่แน่ใจว่าเงินที่เสียไปจะคุ้มหรือเปล่า เพราะมีหลายโปรแกรมมาก

2. ใช้โปรแกรม Thunderbird (โปรแกรม Email Client แบบเดียวกับ Outlook) ช่วย Sync เมล์
วิธีคือ เปิด Thunderbird เข้าระบบด้วยอีเมล์ที่จะเอาไปใช้ใน Outlook ลากไฟล์ .eml เข้าไปวางใน Thunderbird ให้ครบ หรือจะลองสัก 4-5 เมล์เพื่อดูผลก่อนก็ได้
แล้วเข้าไปเช็คดูใน Outlook ว่าเมล์ Sync มาหรือเปล่า
ผลการทดลอง: ใน Thunderbird ข้อมูลในเมล์มาครบถ้วนตามเดิม(ยกเว้นเมล์ที่เสียไปแล้ว)
แต่ใน Outlook เวลาในการรับส่งเพี้ยน กลายเป็นเวลาปัจจุบันแทน ทำให้จัดลำดับเมล์ไม่ได้
3. ใช้โปรแกรมดูดไฟล์ eml เข้า Outlook
ติดตั้งโปรแกรม 2 ตัว เปิดขึ้นมากำหนด path ไฟล์ eml และโฟลเดอร์ใน email
กด run แล้วรอได้เลย

แต่วิธีนี้มีปัญหาตอนใช้งานจริง คือ ถ้าโปรแรกมนี้ไปอ่านเจอเมล์ใหญ่ๆ หรือจำนวนมากๆ หรืออ่านไฟล์ไม่ออก โปรแรกมจะค้างไปทันที ไม่ทำงานต่อ แล้วก็ไม่มีอะไรแจ้งด้วย
วิธีแก้เบื้องต้น ทยอยส่งเมล์เข้าไปน้อยๆ อาจจะไม่เกิน 100 ไฟล์ แต่เท่าที่ลองดูเวลาแอพค้างมันน่าหงุดหงิดจริงๆ
4.ใช้ VB Script แบบง่ายๆ วิธีนี้จะใช้สคริปเรียกโฟลเดอร์ที่เก็บไฟล์ eml แล้วทยอยเรียกไฟล์ eml ขึ้นมาทีละตัว และก็อปปี้เมล์นี้เข้าไปใน Mailbox ที่เรากำหนดให้เอง
จริงๆเราเปิด eml มาทีละตัวแล้วกด copy to mail ก็ได้ แต่คงจะเมื่อน่าดูเพราะต้องทำทีละไฟล์
สคริปตัวนี้จะช่วยร่นระยะเวลาตรงนั้นลง เพราะมันจะช่วยกด copy ให้เอง
ข้อเสียของวิธีนี้คือ ช้าเร็วขึ้นอยู่กับเครื่องและขนาดไฟล์ eml, เรียกไฟล์ได้ไม่เยอะเท่าที่ลองประมาณ 100 ไฟล์ แต่ดีตรงที่ถ้ามีอะไรเสียมันจะแจ้งมาเลยทันที ทำให้เรารู้ตัวและรีบแก้ได้ทัน

วิธีการที่ผมใช้คือ แบ่งไฟล์ EML ออกเป็นชุดๆ ละ 20-100 เมล์ ขึ้นอยู่กับขนาดไฟล์ ถ้าไฟล์ EML ใหญ่ๆมาก ผมจะลดจำนวนลง เพราะ Script จะ error ได้
เคสนี้ผมจะแบ่งออกเป็นโฟลเดอร์ 001, 002 ไล่ไปเรื่อยๆ

เปิด Script ขึ้นมา เลือกโฟลเดอร์ที่เก็บไฟล์ EML (ต้องค่อยๆทำเพราะ Script รันได้ไม่สมบูรณ์นัก)

เลือกโฟลเดอร์ที่จะเก็บเมล์ ผมใช้การสร้างโฟลเดอร์แยกมาต่างหาก ขะได้ไม่ปนกับเมล์ปัจจุบัน

หลังจากนี้ตัวสคริปจะเข้าไปเปิดปิดไฟล์ EML และดึงเข้าเมล์ที่เราได้เลือกเอาไว้ ทยอยทำไปเรื่อยๆ ความเร็วขึ้นอยู่กับขนาดไฟล์และสเปคเครื่อง

รอไปเรื่อยๆจนกว่าจะเสร็จ หลังจากนั้นก็เปิด Script แล้วเปลี่ยนโฟลเดอร์ที่เก็บไฟล์ EML ใหม่ ทำอย่างนี้ซ้ำไปเรื่อยๆจนกว่าจะครบ

สรุป ผมใช้วิธีสุดท้ายครับ เสียเวลาไปเกือบสองคืนถึงจะใช้ script เรียกไฟล์ eml เข้า outlook 2010 จนหมด เฮ้อ
Credit:

แสดงความคิดเห็น

0 ความคิดเห็น
แสดงความคิดเห็น (0)
To Top