繁体   English   中英

将Java EE与Javamail结合使用

[英]Using Java EE with javamail

我在课程testmail中有一个Java EE应用程序,该代码

public Testmail() throws MessagingException, IOException, SQLException
{
    Properties props = System.getProperties();
    Session session = Session.getDefaultInstance(props, null);
    Store store = session.getStore("imaps");
    store.connect("imap.gmail.com", "mail@gmail.com", "passsword");
    //System.out.println(store);
    Folder inbox = store.getFolder("Personnel");
    inbox.open(Folder.READ_WRITE);
    FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
    Message messages[] = inbox.search(ft);
    for(Message message:messages) 
    {
               //mycode
            }
public static void main(String[] args) throws MessagingException, IOException, SQLException 
{
    new Testmail();
}

此代码在控制台中运行。

在我的servlet中有此代码

                    //sum code
        S.setAttribute("user", user);
        try 
        {
            Testmail m=new Testmail();
        } 
        catch (MessagingException e) 
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } 
        catch (SQLException e)
        {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

           response.sendRedirect("listeemails.jsp");

但是我有这个问题

    sept. 12, 2013 11:58:55 PM org.apache.catalina.core.ApplicationContext log
INFO: La servlet Login est marqué comme indisponible
sept. 12, 2013 11:58:55 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Exception lors de l'allocation pour la servlet Login
java.lang.ClassNotFoundException: javax.mail.MessagingException
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getConstructor0(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1116)
    at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:809)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:129)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Unknown Source)

您必须将文件javax.mail.jar复制到目录webcontent / web-inf / lib上并且其工作正常

webapp的类路径中是否包含javamail.jar? 换句话说,javamail.jar是捆绑在项目的WAR / EAR / etc中还是在应用服务器的lib目录中? 如果它在IDE中的构建路径上,但未随Webapp一起部署,并且尚未在应用程序服务器上,则它将在编译时位于构建路径上,而不是在部署时。

暂无
暂无

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

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