当前位置: 代码迷 >> Java Web开发 >> javamail有关问题
  详细解决方案

javamail有关问题

热度:53   发布时间:2016-04-17 15:26:07.0
javamail问题
我用JAVAMAIL作了个收邮件和发邮件的程序,单独调试都成功了,但是我用自己的程序发邮件时,收邮件收不到发的,其他邮箱(例如163发来的就收的到),反正就是这两个程序不能合着用,经过我调试发现是这句话抛的异常:
我不考虑附件情况
String   content   =     ((MimeMessage)   message[i]).getContent().toString();
java.io.IOException:   Unknown   encoding:   Gbk
at   javax.mail.internet.MimePartDataSource.getInputStream(MimePartDataSource.java:71)
at   com.sun.mail.handlers.text_plain.getContent(text_plain.java:65)
at   javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:789)
at   javax.activation.DataHandler.getContent(DataHandler.java:536)
at   javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1259)
at   action.MailServlet.doGet(MailServlet.java:67)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at   javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at   utils.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at   org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at   org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at   org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at   org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at   org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at   org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at   org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at   org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at   org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at   org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at   org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at   org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at   java.lang.Thread.run(Thread.java:534)
我发邮件时设置内容并没有什么特别的,主题到是处理了下,程序中过滤器用的是GB2312,为什么啊,我郁闷啊,大家帮忙啊???

------解决方案--------------------
java.io.IOException: Unknown encoding: Gbk
这句IO异常,你看看是不是哪里用了Gbk?
------解决方案--------------------
收到的邮件格式为GBK。javamail不能解析,所以出这个异常。具体的我也说不好,找找相关的资料吧。我也是现学现卖。