我试图使用android上的k-9邮件连接到我的组织的IMAP服务器,该服务器是作为outlook.office e365.com服务运行的。我相信你们中的很多人都知道,微软最近关闭了基本身份验证,这就是我以前连接的方式。虽然这不再有效,但我应该能够使用服务器和客户端都支持的OAuth2。
但是,在连接和身份验证时,我会得到以下错误。

我应该指出,我能够在Linux上使用雷鸟的OAuth2身份验证。由于IMAP是在这两种情况下使用的实际协议,我猜想唯一的区别是在android情况下发送到服务器的“用户代理”字符串。
发布于 2023-04-17 05:58:43
我应该指出,我能够在Linux上使用雷鸟的OAuth2身份验证。由于IMAP是在这两种情况下使用的实际协议,我猜想唯一的区别是在android情况下发送到服务器的“用户代理”字符串。
不,不是的。这里的初始身份验证阶段根本不是通过IMAP完成的--您看到的是通过HTTP提供服务的网页,特别是通过HTTP提供的OAuth2。该应用程序只有在收到来自OAuth2服务器的“访问令牌”后才会开始使用IMAP。
在OAuth2中,不同客户端的区别不是任何HTTP级别的头,而是它们的OAuth2“客户端ID”和通常在OAuth2 HTTP请求中发送的“客户端机密”。(目前,实际的HTTP“用户代理”可能只是说“Android上的Chrome”。)
要使K-9假装是雷鸟,您需要提取Thunderbird使用的客户ID和客户端机密(例如,在网上找到它),在K-9's源代码中填写,然后编译您定制的K-9副本。(请注意,由于生成的.apk不会由与原始存储版本相同的密钥签名,因此无法与原始K-9共享设置。)
在这样做之前,请考虑只与组织的系统管理员交谈。
https://unix.stackexchange.com/questions/742074
复制相似问题