当我尝试使用IMAP通过我的java代码接收电子邮件时,它总是显示如下异常:
javax.mail.AuthenticationFailedException: [ALERT] Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure)
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:663)
at javax.mail.Service.connect(Service.java:345)
at javax.mail.Service.connect(Service.java:226)
at other_utility.NewTest.main(NewTest.java:15)
虽然我使用了有效的凭据,但它仍然显示此异常。有什么问题?
答案 0 :(得分:0)
Gmail有一个名为“允许来自安全性较低的应用的连接”的选项,您可以在帐户安全设置下找到该选项。尝试启用它,看看它是否是你的困境的原因。如果是的话,至少它指向正确的方向。
我用gmail遇到的另一件事是ipv6(虽然这可能仅限于发送电子邮件)。使用ipv6时,如果无法完成对您的反向DNS查询,gmail将拒绝您的连接。作为实验,您可以尝试
dig -4 mail.google.com
然后将IP复制/粘贴到您的代码中并尝试运行它。这绝对不是长期解决方案,但至少有助于消除这种可能性。