我正在尝试使用基于 imap 协议的 java mail api 连接到我的邮箱。我检查并确保插入了正确的参数。这是我得到的以下异常:
[警告] 请通过您的网络浏览器登录:https://support.google.com/mail/accounts/answer/78754(失败)
我不知道为什么会发生这种情况,此外我在 gmail 帐户设置中启用了 imap 选项。
这是我的代码:
Properties protocol = new Properties();
protocol.setProperty("mail.store.protocol", "imaps");
try{
Session session = Session.getInstance(protocol, null);
Store store = session.getStore();
String host = prop.getProperty("host");
String email = prop.getProperty("username");
String password = prop.getProperty("password");
store.connect(host, email, password);
Folder inbox = store.getFolder("INBOX");
inbox.open(Folder.READ_ONLY);
int messageCount = inbox.getMessageCount();
model.addAttribute("msg","number of mails"+" "+messageCount);
Message[] messages = inbox.getMessages();
PrintWriter writer = new PrintWriter(username+".txt", "UTF-8");
for(int i=0;i<messageCount || prop.getProperty("status").equals(status.RUNNING.toString()) ;i++ ){
model.addAttribute("msg","Reading Mails");
Multipart mp = (Multipart) messages[i].getContent();
BodyPart bp = mp.getBodyPart(0);
writer.println("From:"+ messages[i].getFrom()+" "+"Subject:"+messages[i].getSubject()+" "+"Message:"+bp.getContent());
prop = loadProperties(username+".properties");
}
writer.close();
inbox.close(true);
store.close();
}catch (Exception e){
model.addAttribute("msg","Exception:"+e.getMessage());
}
我建议您执行以下操作:
- 只需启用两步验证在您的帐户上。
- 然后生成一个应用程序专用密码我们用它来连接而不是您的原始密码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)