這幾天因為要裝新買的SSD所以把電腦重灌,手動備份 Outlook 的信件時遇到一些大麻煩

剛剛終於解決了,所以想說PO上來給大家參考一下

一般來說,Outlook 收信分兩種模式:POP3 和 IMAP

POP3 是較為傳統的模式,直接把信件收到電腦裡,然後把伺服器上的刪掉,比較像是下載的概念。

IMAP 是較為新且方便的模式,此模式下郵件會一直存在伺服器上,任何電腦登錄都可以上去收信,看到的信件都一樣,從一個地方刪掉,伺服器和其他地方也都會跟著刪掉,是同步處理的方法。理論上來說IMAP應該不需要備份郵件。

然而問題在於 Outlook 的收信策略,儘管IMAP在伺服器上已經有一份郵件,Outlook還是會在本地電腦端存一份同樣的郵件,這樣你瀏覽時就不需要再上伺服器下載。所以不管是POP3或是IMAP,在Outlook在電腦裡都還會再存一份。

問題在於當重灌電腦後,先前下載到電腦上的郵件會被清掉,所以 Outlook 為了要同步 IMAP帳號 會再重新下載郵件一次。 想像如果你的 Gmail 上有好幾 GB 的郵件,你就必須用十幾MB的速度慢慢地重新抓回來,勢必要花上很久的時間。所以IMAP模式下還應該備份一下。

而 Outlook 儲存郵件的方法是存在一個稱為 “Outlook 資料檔" 的 .pst 檔裏頭。不管你是用 POP3 或 IMAP 模式都會有。只不過POP3的資料檔位置可以由你指定,而IMAP的資料檔是由Outlook自己決定。只要找到他們並複製出來就算備份完成。

查看個郵件帳號 Outlook資料檔的方法如下 在Outlook中選 檔案>帳戶設定>帳戶設定…>資料檔 標籤頁
選擇你要的帳號然後按 “開啟檔案位置…",就可以看到了,通常 IMAP 帳號的是放在C:\Users\[你的使用者名稱]\AppData\Local\Microsoft\Outlook 下,檔案名稱是 [email].pst,把檔案複製起來。

 

通常 Outlook 都還會有另一個主要的 .pst 資料檔,用來存放 POP3 模式收下來的信件或是聯絡人還有行事曆,備份的方法跟上面相同。

然而 Outlook 郵件帳號的設定卻沒有放在這些 .pst 資料檔 當中,他是寫在Windows 的登錄檔裡面。(按 開始>執行> 輸入 Regedit 來啟動),找到位置:
HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676
把這條機碼和其下所有的機碼備份起來即可(右鍵 匯出 .reg 檔)。
(另外,機碼的路徑 “Outlook" 是因為一般預設的郵件Profile名是Outlook,如果你更換過會不一樣。)

重灌後,有一點很重要的是你的 Windows 使用者名稱必須跟之前完全一樣,不然建立的資料夾名稱會不同。安裝的方法是,先把執行剛剛備份出來的 .reg 登錄檔。然後把之前備份的 Outlook 資料檔放到重灌前的位置。接著啟動Outlook,按 “傳送與接收" ,這時 Outlook 有可能會出現一大堆問題,因為他會找不到原來郵件帳號的密碼和 IMAP 的 Outlook資料檔。

密碼的部分到 “帳戶設定" 裡再重新輸入即可。而 IMAP 資料檔的部分,因為 Outlook 可能為這個 IMAP 帳號建立另一個空的Outlook資料檔,所以你可能沒有看到任何舊的郵件。這時趕緊到 “帳戶設定" 的 “資料檔" 頁面看新的資料檔檔名是什麼,關掉 Outlook 後,用移花接木的方法把它調換成舊的資料檔即可。再打開Outlook看看有沒有問題。

我做到這一步之後,雖然舊的信件都回來了,但仍然有問題,當傳送郵件時 Outlook 會顯示說 “0x8004010F:無法存取 Outlook 資料檔案。" 然後郵件就都留在寄件夾裡面出不去,我找了好久才找到原因是登錄檔的問題。

解決方法如下,到剛剛複製機碼的位置 HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook\9375CFF0413111d3B88A00104B2A6676
底下應該會有很多由16個字所命名的資料夾,像是00000002或0000000f。這裡每個都對應一個帳號。在每一個帳號裡面找到的 “Delivery Folder EntryID" 和 “Delivery Store EntryID",然後按右鍵>刪除,刪掉他們。我猜會這樣是因為傳送郵件的資料夾跟先前的不同所導致的。

然後再將Outlook重新打開,就應該可以正常發郵件了。

廣告