由于站长的 Office 365 E5 订阅被微软扬了(悲),于是买了新的邮箱服务,顺便写篇文章,讲一下如何将自己的数据转移至新的邮件提供商。
首先,微软为了确保 Office 365 用户的帐户安全,已经在去年全面禁止了使用帐户密码登录 IMAP 等服务。仅可通过应用密码或 OAuth2 方式登录。
其次,根据本人实验,Office 365 的全局管理员并不能使用应用密码登录 IMAP 服务,只能使用 OAuth2 方式登录。所以下文将提供两种方法,分别供普通用户和全局管理员参考。
迁移数据所需的软件
第一种方法:通过应用密码登录并迁移数据
本方法适合普通用户迁移数据使用。首先,访问 https://mysignins.microsoft.com/security-info,点击 “添加登录方法” —— “添加验证器应用”,为你的账户打开二步验证。打开二步验证后,刷新网页,在刚刚的 “添加登录方法“ 页面中会多出一个选项 —— “应用密码”。
如果没有这个选项,请在下面的网页中检查是否已为自己的账户启用二步验证,以及是否允许用户创建应用密码:https://account.activedirectory.windowsazure.com/UserManagement/MultifactorVerification.aspx?BrandContextID=O365
创建密码后,复制到剪贴板,打开解压后的 imapsync 目录,使用以下命令即可开始转移:
./imapsync --host1 "outlook.office365.com" --user1 "Office 365 账号" --password1 "Office 365 密码" --debugimap1 --host2 "要转移的邮件提供商 IMAP 地址" --user2 "对应的账号" --password2 "对应的密码"
如果转移失败,请检查 Azure Portal —— Azure Active Directory —— 属性 —— 管理安全默认值,将安全默认值更改为 “已禁用”。
转移完成后,程序将自动退出。为了你的账号安全,请不要忘记删除已使用完的应用密码,并将安全默认值更改回 ”已启用“。
第二种方法:通过 DavMail 中转并迁移数据
DavMail 是一个能将微软的 Exchange 私有协议转换成通用的 IMAP/POP/SMTP 等协议的软件,本方法适合全局管理员用户迁移数据使用。
首先,将 DavMail 安装至计算机中,如果提示未找到 Java,可以在软件的安装目录中新建一个文件,命名为 davmail64.ini
,输入以下内容(以下内容仅供参考,请换成自己 Java 环境的位置):
vm.location=C:\Program Files\Java\jre1.8.0_361\bin\server\jvm.dll
打开软件后,更改 Exchange Protocal 为 O365Interactive
,点击 Save 即可,软件将会自动开始监听相应的端口。
打开解压后的 imapsync 目录,使用以下命令。这时 DavMail 会弹出 OAuth2 登录框,完成验证后即可开始转移:
./imapsync --host1 localhost --port1 1143 --user1 "Office 365 账号" --password1 "Office 365 密码" --debugimap1 --host2 "要转移的邮件提供商 IMAP 地址" --user2 "对应的账号" --password2 "对应的密码"
转移完成后,程序将自动退出。
我来看看