2 Replies Latest reply on May 15, 2008 5:14 AM by Narender Reddy

    JavaMail : javax.naming.NameNotFoundException: mail not boun

    Narender Reddy Newbie

      Hi

      i am getting this bellow error

      javax.naming.NameNotFoundException: mail not bound

      My Configuration in mail-service is

      <?xml version="1.0" encoding="UTF-8"?>
      <!-- $Id: mail-service.xml 62349 2007-04-15 16:48:15Z dimitris@jboss.org $ -->


      <!-- ==================================================================== -->
      <!-- Mail Connection Factory -->
      <!-- ==================================================================== -->


      mail
      keshireddy.narender@gssamerica.com
      Knreddy03

      <!-- A test configuration -->

      <!-- Change to your mail server prototocol -->
      <!-- -->


      <!-- Change to the user who will receive mail -->


      <!-- Change to the mail server -->


      <!-- Change to the SMTP gateway server -->


      <!-- The mail server port -->


      <!-- Change to the address mail will be from -->


      <!-- Enable debugging output from the javamail classes -->




      jboss:service=Naming




      **and my code for getting the JavaMail session is**

      Context envCtx = null;
      javax.mail.Session session =null;
      try{

      Properties props= System.getProperties();
      Authenticator auth=new SMTPAuthenticator();

      props.put("mail.transport.protocol", "smtp");
      props.put("mail.smtp.host", "mail.abc.com");
      props.put("mail.smtp.port", "25");
      props.put("mail.smtp.sendpartial","true");

      String location=servlet.getServletContext().getRealPath("");
      props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
      props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
      session = Session.getDefaultInstance(props, auth);
      session.setDebug(true);
      envCtx =new InitialContext(props);
      session = (javax.mail.Session) envCtx.lookup("java:/mail");

      Message message = new MimeMessage(session);
      message.setFrom(new InternetAddress(from));
      message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
      message.setSubject("mail From Tomcat service: :)"+sub);
      message.setContent(content, "text/plain");
      Transport.send(message);
      return 1;
      }
      catch(Exception e)
      {
      e.printStackTrace();
      return 0;
      }

      and i am writing code like this also
      session = (javax.mail.Session) envCtx.lookup("java:comp/env/mail");

      *when i am sending the mail the server throughs this exception*

      12:33:59,036 ERROR [STDERR] javax.naming.NameNotFoundException: mail not bound
      12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
      12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
      12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
      12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
      12:33:59,521 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
      12:33:59,521 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
      12:33:59,521 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:351)
      12:33:59,521 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.Mail.sendMail(Mail.java:68)
      12:33:59,521 ERROR [STDERR] at com.gssamerica.expensereporting.ui.applicationadministrator.ApplicationAdminAction.saveNewAdmin(ApplicationAdminAction.java:843)
      12:34:00,006 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      12:34:00,006 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      12:34:00,006 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      12:34:00,006 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
      12:34:00,006 ERROR [STDERR] at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
      12:34:00,006 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
      12:34:00,006 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:199)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:199)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
      12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
      12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      12:34:00,006 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
      12:34:00,006 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
      12:34:00,006 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
      12:34:00,006 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
      12:34:00,006 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)

      if any one knows the solution please help me as early as possible (i am using Jboss4.2.2 sever)

      Thanks and regards

        • 1. Re: JavaMail : javax.naming.NameNotFoundException: mail not
          jaikiran pai Master

           

          session = (javax.mail.Session) envCtx.lookup("java:/mail");


          The jndi-names are case sensitive. The lookup string should be:


          session = (javax.mail.Session) envCtx.lookup("java:/Mail");


          P.S: While posting the logs or code or xml content, remember to wrap it in a code block using the Code button in the message editor window and please hit the Preview button to make sure your post is correctly formatted

          • 2. Re: JavaMail : javax.naming.NameNotFoundException: mail not
            Narender Reddy Newbie

             

            Hi
            
            i am getting this bellow error
            
            javax.naming.NameNotFoundException: mail not bound
            
            My Configuration in mail-service is
            
            <?xml version="1.0" encoding="UTF-8"?>
            <!-- $Id: mail-service.xml 62349 2007-04-15 16:48:15Z dimitris@jboss.org $ -->
            <server>
            
             <!-- ==================================================================== -->
             <!-- Mail Connection Factory -->
             <!-- ==================================================================== -->
            
             <mbean code="org.jboss.mail.MailService"
             name="jboss:service=Mail">
             <attribute name="JNDIName">mail</attribute>
             <attribute name="User">keshireddy.narender@gssamerica.com</attribute>
             <attribute name="Password">Knreddy03</attribute>
             <attribute name="Configuration">
             <!-- A test configuration -->
             <configuration>
             <!-- Change to your mail server prototocol -->
             <!-- <property name="mail.store.protocol" value="pop3"/> -->
             <property name="mail.transport.protocol" value="smtp"/>
            
             <!-- Change to the user who will receive mail -->
             <property name="mail.user" value="keshireddy.narender@gssamerica.com"/>
            
             <!-- Change to the mail server -->
             <property name="mail.pop3.host" value="pop3.nosuchhost.nosuchdomain.com"/>
            
             <!-- Change to the SMTP gateway server -->
             <property name="mail.smtp.host" value="mail.abc.com"/>
            
             <!-- The mail server port -->
             <property name="mail.smtp.port" value="25"/>
            
             <!-- Change to the address mail will be from -->
             <property name="mail.from" value="keshireddy.narender@gssamerica.com"/>
            
             <!-- Enable debugging output from the javamail classes -->
             <property name="mail.debug" value="true"/>
             <property name="mail.smtp.auth" value="true"/>
             </configuration>
             </attribute>
             <depends>jboss:service=Naming</depends>
             </mbean>
            
            </server>
            
            **and my code for getting the JavaMail session is**
            
             Context envCtx = null;
             javax.mail.Session session =null;
             try{
            
             Properties props= System.getProperties();
             Authenticator auth=new SMTPAuthenticator();
            
             props.put("mail.transport.protocol", "smtp");
             props.put("mail.smtp.host", "mail.abc.com");
             props.put("mail.smtp.port", "25");
             props.put("mail.smtp.sendpartial","true");
            
             String location=servlet.getServletContext().getRealPath("");
             props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
             props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
             session = Session.getDefaultInstance(props, auth);
             session.setDebug(true);
             envCtx =new InitialContext(props);
             session = (javax.mail.Session) envCtx.lookup("java:/mail");
            
             Message message = new MimeMessage(session);
             message.setFrom(new InternetAddress(from));
             message.setRecipient(Message.RecipientType.TO, new InternetAddress(to));
             message.setSubject("mail From Tomcat service: :)"+sub);
             message.setContent(content, "text/plain");
             Transport.send(message);
             return 1;
             }
             catch(Exception e)
             {
             e.printStackTrace();
             return 0;
             }
            
            and i am writing code like this also
             session = (javax.mail.Session) envCtx.lookup("java:comp/env/mail");
            
            *when i am sending the mail the server throughs this exception*
            
            12:33:59,036 ERROR [STDERR] javax.naming.NameNotFoundException: mail not bound
            12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
            12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
            12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
            12:33:59,036 ERROR [STDERR] at org.jnp.server.NamingServer.lookup(NamingServer.java:296)
            12:33:59,521 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:667)
            12:33:59,521 ERROR [STDERR] at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:627)
            12:33:59,521 ERROR [STDERR] at javax.naming.InitialContext.lookup(InitialContext.java:351)
            12:33:59,521 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.Mail.sendMail(Mail.java:68)
            12:33:59,521 ERROR [STDERR] at com.gssamerica.expensereporting.ui.applicationadministrator.ApplicationAdminAction.saveNewAdmin(ApplicationAdminAction.java:843)
            12:34:00,006 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            12:34:00,006 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            12:34:00,006 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            12:34:00,006 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
            12:34:00,006 ERROR [STDERR] at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
            12:34:00,006 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
            12:34:00,006 ERROR [STDERR] at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:199)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at com.gssamerica.expensereporting.ui.common.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:199)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
            12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
            12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
            12:34:00,006 ERROR [STDERR] at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
            12:34:00,006 ERROR [STDERR] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
            12:34:00,006 ERROR [STDERR] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
            12:34:00,006 ERROR [STDERR] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
            12:34:00,006 ERROR [STDERR] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
            12:34:00,006 ERROR [STDERR] at java.lang.Thread.run(Thread.java:595)
            
            if any one knows the solution please help me as early as possible (i am using Jboss4.2.2 sever)
            
            Thanks and regards