发送邮件和下载邮件坑及问题总结(仅供参考)

1.腾讯失败文档:http://service.mail.qq.com/cgi-bin/help?id=20022
2.com.sun.mail.smtp.SMTPSendFailedException: [EOF]特殊字符 例如空格问题
3.javax.mail.AuthenticationFailedException: 535 Error: authentication failed, system busy登陆认证失败,开启smtp或者pop3协议
4.com.sun.mail.smtp.SMTPSendFailedException: 550 Error: content rejected.http://mail.qq.com/zh_CN/help/content/rejectedmail.html 邮件内容疑似垃圾邮件,系统拒绝接收
5.javax.mail.SendFailedException: Invalid Addresses 接收邮件或者发送邮件地址错误
6.com.sun.mail.smtp.SMTPSendFailedException: 451 Error: queue file write error 邮件一下放入队列太多,一直没有发送成功,也有可能邮件内容太大
7.com.sun.mail.smtp.SMTPSendFailedException: 550 Connection frequency limited 连接次数限制
8.java.lang.IllegalStateException: Folder is not Open 解决方式如下

           Message message[] = folder.getMessages();  
           System.out.println("收件箱总数: " + message.length);  
           for (int i = 0; i < message.length; i++) {     
                if(!message[i].getFolder().isOpen()) //判断是否open  
                   message[i].getFolder().open(Folder.READ_WRITE)                                  //如果close,就重新open    
               printMessage(message[i]);  
           }

9.OutOfMemory 一次不要获取太多邮件
10.javax.mail.MessagingException: No inputstream from datasource 可能是附件太大造成的
11.com.sun.mail.smtp.SMTPSendFailedException: 501 ¹ÜÀíÔ±ÒÑÇ¿ÖÆ¿ªÆô΢ÐŶ¯Ì¬ÂëµÇ¼£¬ÇëµÇ¼exmail.qq.com°ó¶¨Î¢ÐÅ 以上异常需要设置微信绑定,并设置一下动态密码
12.Access to default session denied

第一种方式1,session.getDefaultInstance(props,sa);改成mailSession = Session.getInstance(props,sa);
第二种方式:重启 释放之前建立的连接

你可能感兴趣的:(java,javamail)