近期我們受一名客人委託,需要把365帳號內的電郵資料轉移到他在我們公司的虛擬主機。以往這類轉移動作可以直接使用IMAPSYNC套件進行,但因為365和Workspace已經逐步停用密碼登入的方式,所以現在進行轉移需要郵額外的流程。 在開始教學前,先講兩點。
首先第一個,我們有為虛擬主機客戶提供搬家服務,不論網站或電郵,365或Workspace都能夠進行搬家,而且是免費的。需要協助的客戶請電郵到 [email protected] 或透過LINE ( https://lin.ee/wJY5KRI ) 聯絡我們。
第二個,轉移的優缺點。
如果用戶單純需要電郵服務,要有多個電郵帳號但空間不需要太多,虛擬主機會比較划算。舉例說,如果需要十個郵箱,申辦365/Workspace,十個帳號一年成本兩萬多。而申辦我們的100GB計劃,一年成本只是NT$5,000 ,而且計劃本身沒有限制郵箱數量,還可以用來架網站。
相反,如果用戶每個郵箱都需要幾百GB空間的話,365/Workspace就會比較划算。
最後還有一個重點,只有電郵資料可以轉移,365/Workspace內的行事曆,聯絡人等都需要自行備份。 IMAPSYNC套件只負責電郵資料轉移。
IMAPSYNC的開發者其實有另一套件叫做oauth2,負責產生能夠登錄到365/Workspace 授權碼的工具。 我們曾經在Linux及Mac測試過,比較之下Windows版本比較容易使用(Linux 及Mac版本需要另裝Perl Module 才能用。 暫時能確認,在英文版本的Windows11能正常使用,而在中文版Windows11執行可能會有些Charset錯誤。
原則上,執行以下指令,登入相關帳號後就會產生token
oauth2_imap.exe [email protected]
成功登入後token檔案就會產生在oauth2_imap套件內的「token」資料夾,如果登入沒有反應多按一下「Sign in」就可以。 有了token就可以安排電郵資料轉移 (嚴格上來說是「電郵資料複製」)。範例指令如下(需要下載IMAPSYNC套件使用,並確認電腦防火牆沒有封鎖相關端口):
imapsync –host1 ‘outlook.office365.com’ –user1 ‘[email protected]’ –password1 ‘PASSWORD’ –oauthaccesstoken1 ./token.txt –host2 “mail.floppy-demo.com” –user2 ‘[email protected]’ –password2 ‘PASSWORD’
根據imapsync開發者介紹稱,oauth2_imap產生的token有效時間只有一小時,如果電郵資料及資料夾比較多,最極端情況是永遠不能完成電郵資料同步。 因此oauth2_imap套件內已包含自動刷新token的小程序解決這個問題(oauth2_example_loop.bat,限Windows使用)。