微软不久前在尝试通过 IMAP 验证和访问电子邮件时禁用了基本身份验证。我们都应该使用 OAuth。但 ThunderBird 可以通过在配置电子邮件帐户时提供电子邮件地址和密码来访问我的所有电子邮件。
它是如何做到的?它是否以某种方式在幕后执行 OAuth?如果是,它如何知道租户 ID、客户端 ID 和客户端密钥?或者它是否使用其他一些技术,例如实际登录 Outlook 帐户并以某种方式获取电子邮件..
我希望能够在我的代码中以同样的方式做到这一点,只需提供电子邮件地址和密码即可。
他们阻止了所有通过网络发送密码的行为(以便窥探的第三方可以获知密码)。有多种方法可以进行身份验证,其中服务器向客户端发送质询,客户端使用密码解决质询,服务器检查客户端的响应。
让您的客户报告哪些 IMAP 功能受支持。那些名为
AUTH=…
的内容是相关的,并且您想要实现一些名称包含 SHA1
、DIGEST
、SCRAM
、CRAM
这类短语的名称。查看重要服务器公布的内容并找到每个服务器的 RFC。如果 RFC 说“挑战响应”,那就没问题。