使用JAVAMAIL收邮件时的问题,望高手们赐教!!!(高分求教)
代码:
BEAN中的代码:
import java.util.*;
import java.io.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import javax.servlet.*;
public void init(ServletRequest request, ServletResponse response){
//初始化内部变量
req = request;
res = response;
try{
out = res.getOutputStream();
}
catch(IOException e){
System.out.println("GetOutputStream Error:"+e.getMessage());
}
}
/**
* 用于邮件获取
*/
public void getMail(MailBean receive_mail) {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
try {
Store store = session.getStore("pop3");
store.connect(receive_mail.getSmtphost(), receive_mail.getSmtpuser(), receive_mail.getSmtppassword());
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();
///////test
for (int i = 0, n = message.length; i < n; i++) {
out.println(i + ":" + message[i].getFrom()[0]);
out.println(message[i].getSubject());
message[i].writeTo(out);
}
////////////
folder.close(false);
store.close();
}
catch (Exception e) {
System.err.print(e);
}
}
JSP中的代码:
<jsp:useBean id="Mail" scope="session" class="JavaBean.MailBean" />
<jsp:setProperty name="Mail" property="*" />
<jsp:useBean id="ManageMail" scope="session" class="JavaBean.ManageMailBean" />
<jsp:setProperty name="ManageMail" property="*" />
<%
ManageMail.init(request,response);
Mail.setSmtphost("smtp.sina.com.cn");
Mail.setSmtpuser("***");//设置好的
Mail.setSmtppassword("***");//设置好的
ManageMail.getMail(Mail);
%>
平台:winXP+JB9
问题:我使用javamail包来收发邮件,发没问题,可收邮件时收一封时也可以收到,但这次调试时遇到如下报错(测试时我发了好几封邮件)
报错:java.io.CharConversionException: Not an ISO 8859-1 character: 可StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.ResponseBase.getWriter(ResponseBase.java:750)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:165)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:166)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:158)
at org.apache.jasper.runtime.JspWriterImpl.flush(JspWriterImpl.java:205)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:177)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:198)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:193)
at org.apache.jsp.ReadMail_0005fJSP$jsp._jspService(ReadMail_0005fJSP$jsp.java:151)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2347)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1027)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1125)
at java.lang.Thread.run(Thread.java:536)