简体   繁体   English

在jsp中使用imap从gmail读取电子邮件

[英]read email form the gmail using imap in jsp

I want to read the email from gmail using imap with servlet and jsp. 我想使用带有servlet和jsp的imap从gmail读取电子邮件。 But i could not do that.I get in the simple Java class. 但是我做不到。我进入了简单的Java类。 But when I try this code into jsp and servlet both are given error. 但是,当我尝试将此代码转换为jsp和servlet时,均出现错误。 I used following code. 我用下面的代码。

try{ 尝试{
java.util.Properties properties = System.getProperties(); java.util.Properties属性= System.getProperties();
properties.setProperty("mail.store.protocol", "imaps"); properties.setProperty(“ mail.store.protocol”,“ imaps”);
javax.mail.Session s = javax.mail.Session.getDefaultInstance(properties, null); javax.mail.Session s = javax.mail.Session.getDefaultInstance(properties,null);
//create session instance //创建会话实例
System.out.println("Connected"); System.out.println(“ Connected”);
javax.mail.Store store = s.getStore("imaps");//create store instance javax.mail.Store store = s.getStore(“ imaps”); //创建商店实例
store.connect("pop.gmail.com", "studentusecmp@gmail.com", "##########"); store.connect(“ pop.gmail.com”,“ studentusecmp@gmail.com”,“ ##########));
//set your user_name and password //设置您的用户名和密码
System.out.println(store); System.out.println(store);
Folder inbox = store.getFolder("inbox"); 文件夹收件箱= store.getFolder(“ inbox”);
//set folder from where u wants to read mails //设置要从中读取邮件的文件夹
inbox.open(Folder.READ_WRITE);//set access type of Inbox inbox.open(Folder.READ_WRITE); //设置收件箱的访问类型
Message messages[] = inbox.getMessages();// gets inbox messages 邮件消息[] = inbox.getMessages(); //获取邮件消息
for (int i = 0; i System.out.println("From : " + messages[i].getFrom()[0]); //print email id of sender System.out.println("Sub : " + messages[i].getSubject()); //print subject of email for(int i = 0; i System.out.println(“ From:” + messages [i] .getFrom()[0]); //打印发件人System.out.println(“ Sub:” + messages [i] .getSubject()); //打印电子邮件主题
System.out.println("Receive Date:"+messages[i].getReceivedDate()); System.out.println(“接收日期:” + messages [i] .getReceivedDate());
System.out.println("Description:"+messages[i].getDescription()); System.out.println(“ Description:” + messages [i] .getDescription());
}catch(Exception e) { e.printStackTrace(); } catch(Exception e){e.printStackTrace(); } }

and Error 和错误

Stacktrace: at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:97) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:352) at 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) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) at 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(App Stacktrace:在org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)在org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330)在org.apache.jasper.compiler.JDTCompiler org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)的.generateClass(JDTCompiler.java:457)org.org的org.apache.jasper.compiler.Compiler.compile(Compiler.java:352)的.generateClass(JDTCompiler.java:457) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java :)上的org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:594)上的apache.jasper.compiler.Compiler.compile(Compiler.java:339) 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(App licationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:563) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:399) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317) at 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 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)处的licationFilterChain.java:210)org.apache.catalina的org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)处的licationFilterChain.java:210) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)的.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)在org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100 )的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)的org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)的org.apache.catalina.connector.CoyoteAdapter。 org.org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:317)处的service(CoyoteAdapter.java:399)org.org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:204)处的service(CoyoteAdapter.java:399) org.apache.tomcat.util上的.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:182) .net.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(Unknown Source) .net.JIoEndpoint $ SocketProcessor.run(JIoEndpoint.java:311)在java.util.concurrent.ThreadPoolExecutor.runWorker(未知源)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(java.lang处)。 Thread.run(未知源)

which were i did mistack?Please help me. 我做错了吗?请帮帮我。
Thanks. 谢谢。
-chintan -chintan

OK. 好。 I got the answer after some googling. 经过谷歌搜索后,我得到了答案。 and check the code step by step. 并逐步检查代码。 It can not find the jar file in the /WebContent/lib/ Folder. 它在/ WebContent / lib /文件夹中找不到jar文件。 I put it manually. 我手动放置。 It work fine. 工作正常。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM