【发布时间】:2013-04-12 19:54:36
【问题描述】:
我想使用带有 servlet 和 jsp 的 imap 阅读来自 gmail 的电子邮件。 但我不能这样做。我进入了简单的 Java 类。但是,当我尝试将此代码放入 jsp 和 servlet 时,都会出现错误。 我使用了以下代码。
试试{
java.util.Properties 属性 = System.getProperties();
properties.setProperty("mail.store.protocol", "imaps");
javax.mail.Session s = javax.mail.Session.getDefaultInstance(properties, null);
//创建会话实例
System.out.println("已连接");
javax.mail.Store store = s.getStore("imaps");//创建存储实例
store.connect("pop.gmail.com", "studentusecmp@gmail.com", "##########");
//设置你的用户名和密码
System.out.println(store);
文件夹收件箱 = store.getFolder("inbox");
//设置你想阅读邮件的文件夹
inbox.open(Folder.READ_WRITE);//设置收件箱的访问类型
Message messages[] = inbox.getMessages();// 获取收件箱消息
对于 (int i = 0; 我 System.out.println("发件人:" + messages[i].getFrom()[0]); //打印 发件人的电子邮件 ID System.out.println("Sub : " + 消息[i].getSubject()); //打印邮件主题
System.out.println("接收日期:"+messages[i].getReceivedDate());
System.out.println("描述:"+messages[i].getDescription());
}catch(Exception e) { e.printStackTrace(); }
和错误
堆栈跟踪:在 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97) 在 org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 在 org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457) 在 org.apache.jasper.compiler.Compiler.compile(Compiler.java:374) 在 org.apache.jasper.compiler.Compiler.compile(Compiler.java:352) 在 org.apache.jasper.compiler.Compiler.compile(Compiler.java:339) 在 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) 在 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:344) 在 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) 在 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:311) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源) 在 java.lang.Thread.run(Unknown Source)
我做错了什么?请帮助我。
谢谢。
-chintan
【问题讨论】:
-
两条建议 - 1. 请将您的代码包装在正确的标签中。在这一点上很难挽救它。 2 - 如果此代码是从 JSP 运行的,请帮大家一个忙,并将其移至服务组件。目前看来代码甚至无法编译。
javacError -
我用 script-let 标签包装我的代码。有什么影响吗?
-
您不应在发布问题时发布密码。
-
谢谢。我忘了,下次我会小心的。再次感谢。@Sao
-
@chintan 请做正确的事并立即更改您的密码。它现在在这里不可见的事实并不意味着它不再存在于数据库中。