Outlook升级OAuth2.0认证方式

Qiang Li 0 信誉分
2024-01-30T10:56:13.0633333+00:00

你好,我有个邮件服务的功能需要升级认证方式为OAuth2.0,这需要我先注册一个应用程序,然后使用应用程序的参数获取token,我现在能够成功拿到token,但是在代码里面连接outlook的IMAP服务器的时候,依然告诉我连接失败,我不知道是不是我应用程序哪里的配置存在问题,能帮我看一下吗?以下是我的应用程序截图

应用程序的概念页面地址
User's image

User's image

User's image

我创建应用之后,首先设置了web回调地址为 http://localhost:9081/email/auth,然后新增证书和密码中的客户端密码,然后添加了API权限,我发现网上有很多帖子说会添加 office 3654 exchange online 下面的两个权限,但是我没有找到这个权限在哪里
User's image

以下是我的java代码:

1.获取token
User's image

2.获取邮件

User's image

我使用获取的token,使用IMAP连接服务器,依然无法成功认证:

jakarta.mail.AuthenticationFailedException: AUTHENTICATE failed.

以下是我的debug信息:

DEBUG: Jakarta Mail version 
DEBUG: URL jar:file:/E:/Soft%
DEBUG: successfully loaded resource: jar:file:/E:/Soft%
DEBUG: successfully loaded resource: /META-INF/javamail.default.providers 
DEBUG: Tables of loaded providers 
DEBUG: Providers Listed By Class Name: {
DEBUG: Providers Listed By Protocol: {
DEBUG: successfully loaded resource: /META-INF/javamail.default.address.map 
DEBUG: URL jar:file:/E:/Soft%
DEBUG: successfully loaded resource: jar:file:/E:/Soft%
DEBUG: getProvider() returning jakarta.mail.Provider[
DEBUG IMAP: mail.imap.partialfetch: 
DEBUG IMAP: mail.imap.ignorebodystructuresize: 
DEBUG IMAP: mail.imap.statuscachetimeout: 
DEBUG IMAP: mail.imap.appendbuffersize: 
DEBUG IMAP: mail.imap.minidletime: 
DEBUG IMAP: enable STARTTLS 
DEBUG IMAP: peek 
DEBUG IMAP: closeFoldersOnStoreFailure 
DEBUG IMAP: protocolConnect returning 
DEBUG IMAP: trying to connect to host 

Outlook
Outlook
Microsoft 电子邮件和日历产品系列。
14 个问题
{count} 票