0

我想使用带有 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("Connected");
javax.mail.Store store = s.getStore("imaps");//创建存储实例
store.connect("pop.gmail.com", "studentusecmp@gmail.com", "######## ##");
//设置你的用户名和密码
System.out.println(store);
文件夹收件箱 = store.getFolder("inbox");
//设置你想要阅读邮件
收件箱的文件夹。
Message messages[] = inbox.getMessages();// 获取收件箱消息
for (int i = 0; i System.out.println("From : " + messages[i].getFrom()[0]); //打印发件人的电子邮件 ID System.out.println("Sub : " + messages[i].getSubject()); //打印电子邮件的主题
System.out.println("Receive Date:"+messages[i].getReceivedDate ());
System.out.println("Description:"+messages[i].getDescription());
}catch(Exception e) { e.printStackTrace(); }

和错误

Stacktrace:在 org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 在 org.apache.jasper.compiler.JDTCompiler 的 org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97) .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) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594) at 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) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at 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.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) 在 org.apache.catalina.valves 的 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)。 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) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run (JIoEndpoint.java:311) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 在 java.lang.Thread.run(Unknown Source)org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182) 在 org.apache.tomcat.util.net 上的 apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)。 JioEndpoint$SocketProcessor.run(JIoEndpoint.java:311) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run (来源不明)org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:182) 在 org.apache.tomcat.util.net 上的 apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:204)。 JioEndpoint$SocketProcessor.run(JIoEndpoint.java:311) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run (来源不明)concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

我做错了什么?请帮助我。
谢谢。
-金丹

4

1 回答 1

1

好的。经过一番谷歌搜索,我得到了答案。并逐步检查代码。它在 /WebContent/lib/ 文件夹中找不到 jar 文件。我手动放的。它工作正常。

于 2013-04-19T13:05:41.067 回答