java使用Javamail从Gmail检索上次发送的邮件
我正在尝试使用Javamail api获取Gmail中最后发送的邮件。这是代码-
Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "imap");
try{
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("imap");
store.connect(mailbox, mailId, passwod);
sent = store.getFolder("[Gmail]/Sent Mail");
int totalSentMails = sent.getMessageCount();
sent.open(Folder.READ_ONLY);
Message sentmesage = sent.getMessage(totalSentMails);
}
catch (NoSuchProviderException e){
e.printStackTrace();
System.exit(1);
}
由于getMessage count返回的数字远大于实际邮件数,因此我得到一个IndexOutOfBoundsException
我如何使用javamail api获得Gmail发送邮件的确切数量? 我得到的错误是-
java.lang.IndexOutOfBoundsException: 1986 > 1970
1986年是上述收到的邮件总数,1970年是实际发送的邮件数
# 1 楼答案
***
使用此代码阅读gmail已发送邮件文件夹、草稿、重要邮件、星号邮件、垃圾邮件、垃圾邮件、收件箱、所有邮件
***
这段代码运行得非常好。。享受:)