当前位置: 首页 > 知识库问答 >
问题:

outlook OAuth2.0和IMAP

乐正翰
2023-03-14

connect(“outlook.office365.com”,“my_email_id,access_token”);//这里的存储是imap

我设置的属性是:properties.put(“mail.smtp.port”,“587”);SetProperty(“mail.imap.socketFactory.class”、“javax.net.ssl.sslsocketFactory”);SetProperty(“mail.imap.socketFactory.fallback”,“false”);SetProperty(“mail.imap.port”,“993”);SetProperty(“mail.imap.socketFactory.port”,“993”);properties.put(“IncomInGhost”,“outlook.office365.com”);properties.put(“mail.imap.ssl.enable”,“true”);properties.put(“mail.smtp.starttls.enable”,“true”);properties.put(“outgoinghost”,“smtp.office365.com”);setProperty(“mail.imaps.ssl.trust”、“*”);

注意:当我提供密码而不是access_token时,我可以成功登录,但在使用access_token时失败。

共有1个答案

封昊天
2023-03-14

不能使用访问令牌代替密码。IMAP要求您的客户端使用SASL XOAUTH2进行身份验证。详细信息可以在这里找到。

例如,使用访问令牌ewbaal3baauffpuao7j3ve0bjlbwzwcclrc3eoaa访问test@contoso.onmicrosoft.com的SASL XOAUTH2格式为:

base64("user=test@contoso.onmicrosoft.com^Aauth=Bearer EwBAAl3BAAUFFpUAo7J3Ve0bjLBWZWCclRC3EoAA^A^A")

在base64编码之后,这将转换为以下字符串。请注意,插入换行符是为了可读性。

dXNlcj10ZXN0QGNvbnRvc28ub25taWNyb3NvZnQuY29tAWF1dGg9QmVhcmVy
IEV3QkFBbDNCQUFVRkZwVUFvN0ozVmUwYmpMQldaV0NjbFJDM0VvQUEBAQ==
 类似资料:
  • 我正在想办法给我的应用添加GMail标签。我正在使用不支持它的Mailcore,所以我想自己添加它们。我研究了一下,发现了这个: https://developers.google.com/google-apps/gmail/imap_extensions#x-gm-labels 这是什么语言?这是API吗?我如何访问它? 谢啦

  • 问题内容: 关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别? 问题答案: 不确定从何处获得传说,但: 提交按钮 与: IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很棒,但是各种浏览器怪癖使它有时很难使用。 在您的示例中,IE6将发送到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览

  • 什么区别以及如何正确重写代码?

  • 我试图理解为什么下面两个代码块会产生不同的结果。 代码块1按预期工作,并返回从数据库中查找的提供程序的数组。另一方面,代码块2返回函数数组。在理解promissione.all()和async/await时,我觉得缺少了一些简单的东西。 代码块的差异如下: > 块1:创建许诺函数数组,然后使用map运算符将其包装在异步函数中。 块2:许诺函数的数组被创建为异步函数。因此,不调用map运算符。 如果

  • 问题内容: 我才刚刚开始研究SQL。 我有一个SQL Server 2008r2数据库,它将返回两个字段DocDate和InvValue。我需要将InvValues汇总为今天的MTD和YTD,所以看起来像 我已经做了大量的Google搜寻,并且可以使用SUM&DATEPART进行一项或多项,但是我坚持尝试两者兼而有之。 有人可以给我一些伪代码,以帮助我进一步谷歌。 谢谢@戈登·利诺夫(Gordon

  • 这个示例代码来自一本Java书籍,从墙上的99瓶啤酒到没有啤酒打印出这首歌。问题是,当墙上是1瓶啤酒时,它仍然写着瓶子。我试图通过在末尾添加部分来解决这个问题。但是,它仍然显示1瓶啤酒在墙上,我瓶啤酒在墙上。 我不知道该改变什么来解决这个问题。是否创建另一个while部分? 如果你能给他们一个提示,这样我就可以自己解决它,那也很酷!因为我知道我的实际歌曲输出是在第一个if部分,但我不知道我应该在哪