【问题标题】:How to authenticate IMAP using gmail OAuth?如何使用 gmail OAuth 对 IMAP 进行身份验证?
【发布时间】:2019-05-13 10:33:10
【问题描述】:

我正在构建一个 java 微服务来阅读邮件。

我正在尝试使用 google 的 OAuth 令牌连接到 com.sun.mail:javax-mail:1.5.5 imap,我正在发送 access_token 代替密码及其引发的身份验证错误。

[AUTHENTICATIONFAILED] 无效凭据(失败)

Properties props = new Properties();
props.put("mail.imaps.ssl.enable", "true");
props.put("mail.imaps.auth.mechanisms", "XOAUTH2");

 Session session = Session.getInstance(props);
Store store = session.getStore("imaps");
store.connect("imap.gmail.com", 993, "testingqa1919@gmail.com", accessToken);

【问题讨论】:

  • 你试过Store store = session.getStore("imap");吗?并在您的 gmail 中启用 IMAP?另外,您是否在您的 gmail 中启用了不太安全的应用程序?
  • 你能打开协议跟踪看看正在发送什么吗?
  • @HasithaMJayawardana 我已经启用了 imap 和不太安全的应用程序,因为我可以使用我的凭据登录。我从这里尝试过link
  • @Max 我不知道怎么做,但我会找出并做到这一点。谢谢。
  • @Liron 现在可以工作了。解析访问令牌时出错。

标签: java oauth-2.0 imap


【解决方案1】:

确保您使用的是访问令牌,而不是刷新令牌。

【讨论】:

    猜你喜欢
    • 2018-02-04
    • 1970-01-01
    • 2012-01-29
    • 2011-01-22
    • 2023-03-12
    • 1970-01-01
    • 2011-10-20
    • 2014-11-23
    • 1970-01-01
    相关资源
    最近更新 更多