javamail 收邮件遇到的问题及解决方法

1.java.io.UnsupportedEncodingException

当使用 getContent() 时,文本主体部分(例如主类型是“text”的主体部分)返回 Unicode 字符串对象。通常,这些主体部分内部用某些非 Unicode 字符集保持文本数据。JavaMail(通过 "text/html" DataContentHandler)试着将那些数据转换成 Unicode 字符串。基础 JDK 的字符集可用于做这种工作。如果 JDK 不支持特别的字符集,那么就引发 UnsupportedEncodingException。在这种情况下,可以使用 getInputStream() 方法来将内容作为字节流检索。

 

if (part.isMimeType("text/html")){
                 try{
                context=(String) part.getContent();
                 } catch (UnsupportedEncodingException uex){
                     InputStream is = part.getInputStream();
                     context = inputStream2String(is);//将流转为string
                 }

 2.接收邮件多时,其中附件过多时,会出现socket 连接不上去;加上这句即可解决

  props.setProperty("mail.pop3.socketFactory.fallback", "false");

 3.最烦人是乱码问题。因为不同公司的邮箱设置不一样,致至有时出现乱码。

其中还遇到挺多问题了,忘记记录下来了;

你可能感兴趣的:(javamail)