自己写了javamail的收邮件程序,且通过收邮件类的main方法测试成功,能收到所有邮件,但是将此类加入到web应用中后,部署到tomcat,然后通过页面请求后,也能获得message的条数,但是在转化成Part后,就java.lang.NullPointerException,异常了。
Properties props = System.getProperties();
props.put("mail.store.protocol","imap");
props.put("mail.imap.host","imap.163.com");
props.put("mail.imap.auth.plain.disable","true");
try {
Session mailsession=Session.getInstance(props,null);
mailsession.setDebug(false); //是否启用debug模式
IMAPFolder folder= null;
IMAPStore store=null;
store=(IMAPStore)mailsession.getStore("imap"); // 使用imap会话机制,连接服务器
store.connect("mail.163.com","azc118116@163.com","azc1181161");
folder=(IMAPFolder)store.getFolder("INBOX"); //收件箱
folder.open(Folder.READ_WRITE);
Message message[] = folder.getMessages();
int unreadcount=folder.getUnreadMessageCount();
int newmailcount=folder.getNewMessageCount();
int total=folder.getMessageCount();
int p=0;
MailRecive pmm = null;
for(int i=0;i<total;i++)
{
pmm = new MailRecive((MimeMessage) message[i]);
// 获得邮件内容===============
pmm.getMailContent((Part) message[i]);
pmm.setAttachPath("d:/bossinmail");
pmm.saveAttachMent((Part) message[i]);
}
以上代码在类的main函数中独立运行无问题,但是部署到tomcat后,就在 pmm.getMailContent((Part) message[i]); 这句话报空指针异常了。请各位大侠帮忙解决!~谢谢
详细代码请参考
https://code.csdn.net/snippets/221501
https://code.csdn.net/snippets/221516
备注:web框架使用的是struts2
------解决方案--------------------
你留个邮箱,我发给你一份jar包吧~具体的我也忘记怎么修改了。
------解决方案--------------------
看下不是 message[i] 都有数据呢? pmm.getMailContent((Part) message[i]);