最近项目需要Java读取邮件的附件内容,过程中遇到一些问题简单记录下:
1、邮箱要开启授权码,使用授权码登陆邮箱
2、如果连接过程中报错:NO Select Unsafe Login. Please contact kefu@188.com for help,这个错的大概意思就是“你不能用第三方的的软件登陆邮件,这样很不安全,还是用我们的产品吧!”
解决办法: http://config.mail.163.com/settings/imap/index.jsp?uid=xxxxxx@163.com 访问这个链接,通过手机号验证后,问题解决(注:我用的是网易的邮箱)
3、读取未读的邮件时,pop协议没有未读属性,据说SMTP可以获取到这个属性,但是我反复试过几次还是没有取到,临时想个解决办法,后续再研究吧。
补充:读取未读邮件方法
//判断邮件未读
message.getFlags().contains(Flags.Flag.SEEN)
//把邮件设置成已读
message.setFlag(Flags.Flag.SEEN, true);