javaMail邮件读取,和发邮件相似,只要顺着发邮件的思路,就可以晓得怎样获取邮件的内容(包括附件)
public static void main(String[] args) throws MessagingException, IOException{
Properties props = new Properties();
//设置 服务器 协议
props.put("mail.store.protocol","pop3");
//设置 服务器地址
props.put("mail.host","pop.qq.com");
//获取 会话通道
Session session = Session.getDefaultInstance(props);
Store store = session.getStore();
//创建---连接
store.connect("***用户名****","*****密码*****");
//获取---收件箱邮件目录
Folder folder = store.getFolder("INBOX");
//以 读写方式--打开
folder.open(Folder.READ_WRITE);
//得到 邮件信息--数组
Message[] msg = folder.getMessages();
System.out.println(msg.length);
for(Message m:msg){
System.out.println(m.getSubject());
if(m.getSubject().equals("带--附件的邮件发送测试。。。。。。。。。")){
//删除----此邮件
m.setFlag(Flag.DELETED,true);
//此 邮件是MIXED类型,带有附件--整个内容
Multipart mainPart = (MimeMultipart) m.getContent();
int count = mainPart.getCount();
int index = 0;
while(count > 0){
//拆分 内容--有正文,附件
BodyPart body = (MimeBodyPart)mainPart.getBodyPart(index);
System.out.println(body.getContentType());
index++;
count--;
}
}
}
//删除邮件后,更新Folder
folder.close(true);
store.close();
}