javaMail获取收件箱邮件之javax.mail.FolderNotFoundException

情况一:通过pop3获取邮件

javax.mail.FolderNotFoundException: folder is not INBOX
	at com.sun.mail.pop3.POP3Folder.open(POP3Folder.java:205)
	at com.dascom.james.service.impl.MailServiceImpl.getFrom(MailServiceImpl.java:209)
	at com.dascom.james.controller.MailInfoController.receiveMail(MailInfoController.java:109)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498) 
	...
  • 说明:通过查看folder列表确实没有找到Sent发件箱fullname;
  • 查看方式:Folder folder[ ]=store.getDefaultFolder().list();
  • 解决办法:可以换成使用IMAP获取邮件

情况二:通过IMAP获取邮件

javax.mail.FolderNotFoundException: Sent not found
	at com.sun.mail.imap.IMAPFolder.checkExists(IMAPFolder.java:383)
	at com.sun.mail.imap.IMAPFolder.open(IMAPFolder.java:934)
	at com.dascom.james.service.impl.MailServiceImpl.getFrom(MailServiceImpl.java:210)
	at com.dascom.james.controller.MailInfoController.receiveMail(MailInfoController.java:109)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	...
  • 原因:用户的发件箱为null;初始用户只存在inbox收件箱,没有发件箱、垃圾箱等,可以先发一封邮件试试

你可能感兴趣的:(java笔记,james笔记)