gpt4 book ai didi

oauth-2.0 - 如何使用 OAuth2 通过 IMAP 连接到 outlook.office365.com

转载 作者:行者123 更新时间:2023-12-05 07:16:46 25 4
gpt4 key购买 nike

我可以使用 Javamail IMAP 包访问我的 outlook.office365.com 邮箱。我想使用 OAuth2.0 访问同一个邮箱。根据https://javaee.github.io/javamail/OAuth2 ,在 1.5.5 之后,JavaMail 能够通过使用 Bearer 访问 token 来支持 OAuth2。我创建了一个简单的测试代码:

    System.out.println("Helloworld");
String host="outlook.office365.com";
String username="mymailboxname";
//String password="mymailboxpasswd";
String accesstoken="eyJ0eXAiOiJKV1QiLCJub25jZSI6Im4....my token from Micorsoft .....S0QoWgvodHXw";
Properties props=new Properties();
props.setProperty("mail.imap.ssl.enable","true");
props.setProperty("mail.imap.auth.mechanisms","XOAUTH2"); //added for oauth2
// set any other needed mail.imap.* properties here
Session session=Session.getInstance(props);
Store store=session.getStore("imap");
// store.connect(host,993,username,password);
store.connect(host,993,username,accesstoken);

当我运行它时,我得到了 AuthenticationFailedException

    Exception in thread "main" javax.mail.AuthenticationFailedException: AUTHENTICATE failed.
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:732)
at javax.mail.Service.connect(Service.java:366)
at Main.main(Main.java:21)

使用OAuth2通过IMAP连接outlook.office365.com的方法是什么

最佳答案

Found on here

注意

如果您在组织中启用了安全默认设置,POP3 和 IMAP4 将在 Exchange Online 中自动禁用。有关详细信息,请参阅什么是安全默认值?

为了保护您的 Exchange Online 租户免受暴力或密码喷洒攻击,您的组织需要在 Exchange Online 中禁用基本身份验证,并仅在 Exchange Online 中使用现代身份验证。禁用基本身份验证将阻止旧协议(protocol),例如 POP 和 IMAP。

关于oauth-2.0 - 如何使用 OAuth2 通过 IMAP 连接到 outlook.office365.com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59094848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com