簡體   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