Nextcloud邮箱应用程序中登录Outlook和Gmail
起因
由于我手上有太多邮箱账号在同时使用,我需要一个软件能够同时登录这些邮箱,并且要在我的手机和电脑上都能访问收件箱,以及发送邮件。最终我选择在自己部署的Nextcloud中使用Mail应用来集中管理邮箱。Nextcloud Mail是邮件客户端,不是邮件服务提供商;你仍然需要已有的邮箱和相应的IMAP/SMTP或OAuth登录支持。
为什么一定要搞呢,因为在反复切换邮箱账号的过程中浪费了我大量的时间。~~所以我今天浪费了三个小时在配置把我的邮箱账号登录到我搭建的NextCloud上,~~为了避免别人和我浪费相同多的时间,故写下这篇博客以帮助人们节约时间。
可能遇到的问题
IMAP server is not reachable
这个问题发生在我登录mail.ru邮箱的时候。当时我为了登录Gmail启用了代理,后来关闭代理、直接连接后问题消失了。这只是我遇到的一次情况,不能据此判断是代理IP被屏蔽。遇到类似错误时,可以检查服务器的DNS解析、出站防火墙、代理或VPN路由,以及邮箱服务商的IMAP地址、端口和TLS设置。
登录 Outlook / Microsoft 邮箱
Nextcloud Mail支持为托管的Microsoft Outlook账号使用OAuth。对于Exchange Online,微软已禁用IMAP等协议的基本身份验证;旧式App密码不能绕过这一限制。因此需要由Nextcloud管理员先配置Microsoft OAuth集成。
配置Microsoft OAuth
在Nextcloud管理设置的“群件(Groupware)”中找到Microsoft OAuth相关配置,复制其中的重定向URI。然后到Microsoft Entra管理中心(Azure门户)注册一个应用,允许组织账号和个人Microsoft账号,并把Nextcloud提供的重定向URI设为Web重定向地址。创建客户端密码后,把应用程序(客户端)ID和密码填回Nextcloud的Groupware设置。对常见的个人和组织账号,租户ID通常保留为common。具体菜单名称可能会随Microsoft和Nextcloud版本变化。
保存配置后,重新打开Nextcloud Mail的添加账号页面,选择Microsoft/Outlook账号并输入邮箱地址。按Nextcloud当前说明,密码字段会被丢弃,随后会弹出Microsoft授权窗口;完成授权后即可添加账号。组织管理的账号可能还需要管理员批准。
详见Nextcloud官方的Microsoft XOAUTH2配置说明和微软关于Exchange Online基本身份验证停用的说明。
登录Gmail
推荐先配置Google OAuth。Nextcloud管理员需要在Google Cloud中创建OAuth凭据,然后到Nextcloud管理设置的“群件(Groupware)”下找到“Gmail集成”,填入并保存客户端ID和客户端密码。设置完成后,用户添加Gmail账号时即可通过Google授权窗口登录。详见Nextcloud Mail的Google OAuth配置说明。
如果你的Nextcloud实例尚未配置Google OAuth,也可以尝试App密码。Google要求账号启用两步验证才可创建App密码,并且不推荐在支持“使用Google账号登录”的应用中使用App密码;部分组织账号或启用了高级保护的账号也可能没有此选项。详见Google的App密码说明。
个人Google账号的Gmail从2025年1月起始终开启IMAP,不再提供“启用/停用IMAP”的开关,因此不需要再按旧教程手动开启。Google Workspace账号的设置仍可能由组织管理员控制。可参阅将Gmail添加到其他邮件客户端。
小结
一大堆邮箱账号确实烦人。如果你是搜索相关关键词找到这篇文章的,别学我给每件事都注册一个新邮箱;等到要维护它们时,就知道有多麻烦了。