public void receive(){ try { Properties props = new Properties(); props.setProperty("mail.store.protocol", "imap"); // 协议 props.setProperty("mail.pop3.port", "993"); // 端口 props.setProperty("mail.pop3.host", "imap.exmail.qq.com"); // pop3服务器 // 创建Session实例对象 Session session = Session.getInstance(props); Store store = session.getStore(); store.connect("imap.exmail.qq.com","[email protected]", "FQzQwGj8YkgwvzvHtNGFBrpN"); // 获得收件箱 Folder folder = store.getFolder("INBOX"); folder.open(Folder.READ_ONLY); /* Folder.READ_ONLY:只读权限 * Folder.READ_WRITE:可读可写(可以修改邮件的状态) */ log.info("未读邮件数: " + folder.getUnreadMessageCount()); log.info("新邮件: " + folder.getNewMessageCount()); log.info("邮件总数: " + folder.getMessageCount()); Message[] messages = folder.getMessages(); List<String> sign = new ArrayList<>(); for (Message m:messages) { Flags flags = m.getFlags(); //已读 if(flags.toString().contains("FLAGS@20")){ log.info("已读"); }//未读 else if(flags.toString().contains("FLAGS@0")){ //设置已读 //m.setFlag(Flags.Flag.SEEN,true); if(m.getSubject().substring(0,3).equals("Re:")){ String l = m.getSubject(); //把未读的时间戳放入sign等待修改状态 sign.add(l.substring(l.length()-13,l.length())); }else{ log.info("非回执邮件"); } } } emailRecordRepostory.updateBySign(sign); log.info("未读邮件数",folder.getUnreadMessageCount()); } catch (MessagingException e) { e.printStackTrace(); } }
java接收邮件
猜你喜欢
转载自blog.csdn.net/qq_39438729/article/details/79717090
今日推荐
周排行