我正在尝试使用基于imap协议的java邮件api连接到我的邮箱。我检查并确定我插入了正确的参数。这是我得到的以下异常:
[ALERT]请通过网络浏览器登录: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()); }
搜索后,我发现需要将主机名更改为 imap.googlemail.com
imap.googlemail.com
以下代码已更改:
mail.store.protocol
变成: