You are right, I figured it out when I read your code.
Now it is working fine.


2006/5/28, Henri Dupre <[EMAIL PROTECTED]>:
Hi Ted,

It sounds like you don't have any JNDI available on your server. Wouldn't
you be using Jetty? Jetty doesn't have any JNDI by default and I never did
figure out how to get Javamail working in Jetty.

My service assumes that a Javamail session is available through JNDI on
"mail/Session".
On tomcat I have in server.xml
    <Resource
      name="mail/Session"
      type="javax.mail.Session"
      mail.smtp.host="smtp.server.com"
      mail.mime.charset="ISO-8859-1"/>

and I have a context.xml inside my war file with

<ResourceLink name="mail/Session" global="mail/Session" type="
javax.mail.Session"/>



On 5/27/06, Ted Steen <[EMAIL PROTECTED]> wrote:
>
> I get this exception when I try to send a mail with the service (just
> like you do in your example)
>
> I'm using javax.mail 1.4 and javax.activation 1.1 (as needed by javax.mail
> )
>
> javax.naming.NoInitialContextException: Need to specify class name in
> environment or system property, or as an applet parameter, or in an
> application resource file:  java.naming.factory.initial
>        at javax.naming.spi.NamingManager.getInitialContext(
> NamingManager.java:645)
>        at javax.naming.InitialContext.getDefaultInitCtx(
> InitialContext.java:247)
>        at javax.naming.InitialContext.getURLOrDefaultInitCtx(
> InitialContext.java:284)
>        at javax.naming.InitialContext.lookup(InitialContext.java:351)
>        at actualis.web.tapestry.email.EmailEngineImpl.getMailSession(
> EmailEngineImpl.java:111)
>        at actualis.web.tapestry.email.EmailEngineImpl.sendMessage(
> EmailEngineImpl.java:220)
>        at actualis.web.tapestry.email.EmailEngineImpl.renderAndSendPage(
> EmailEngineImpl.java:148)
>        at actualis.web.tapestry.email.EmailEngineImpl.sendEmail(
> EmailEngineImpl.java:172)
>        at
> $EmailEngine_10b756c789e.sendEmail($EmailEngine_10b756c789e.java)
>        at
> $EmailEngine_10b756c789d.sendEmail($EmailEngine_10b756c789d.java)
>        at net.keso.ted.tapestrySandbox.pages.mail.MailTest.doSendMail(
> MailTest.java:28)
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>        at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:39)
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:25)
>        at java.lang.reflect.Method.invoke(Method.java:585)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeTargetMethod(
> ListenerMethodInvokerImpl.java:214)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> (ListenerMethodInvokerImpl.java:155)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.searchAndInvoke(
> ListenerMethodInvokerImpl.java:124)
>        at
> org.apache.tapestry.listener.ListenerMethodInvokerImpl.invokeListenerMethod
> (ListenerMethodInvokerImpl.java:65)
>        at org.apache.tapestry.listener.SyntheticListener.actionTriggered(
> SyntheticListener.java:51)
>        at
> org.apache.tapestry.binding.ListenerMethodBinding.actionTriggered(
> ListenerMethodBinding.java:77)
>        at
> org.apache.tapestry.listener.ListenerInvokerTerminator.invokeListener(
> ListenerInvokerTerminator.java:51)
>        at
> $ListenerInvoker_10b756c7786.invokeListener($ListenerInvoker_10b756c7786.java)
>        at
> $ListenerInvoker_10b756c7785.invokeListener($ListenerInvoker_10b756c7785.java)
>        at org.apache.tapestry.link.DirectLink.trigger(DirectLink.java:105)
>        at org.apache.tapestry.engine.DirectService.triggerComponent(
> DirectService.java:146)
>        at org.apache.tapestry.engine.DirectService.service(
> DirectService.java:132)
>        at
> $IEngineService_10b756c77f1.service($IEngineService_10b756c77f1.java)
>        at
> org.apache.tapestry.services.impl.EngineServiceOuterProxy.service(
> EngineServiceOuterProxy.java:66)
>        at org.apache.tapestry.engine.AbstractEngine.service(
> AbstractEngine.java:248)
>        at org.apache.tapestry.services.impl.InvokeEngineTerminator.service
> (InvokeEngineTerminator.java:60)
>        at
> $WebRequestServicer_10b756c77bd.service($WebRequestServicer_10b756c77bd.java)
>        at com.carmanconsulting.tapernate.filter.TapernateFilter.service(
> TapernateFilter.java:69)
>        at
> 
$WebRequestServicerFilter_10b756c77bb.service($WebRequestServicerFilter_10b756c77bb.java)
>        at
> $WebRequestServicer_10b756c77bf.service($WebRequestServicer_10b756c77bf.java)
>        at
> $WebRequestServicer_10b756c77b7.service($WebRequestServicer_10b756c77b7.java)
>        at
> org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service
> (WebRequestServicerPipelineBridge.java:56)
>        at
> 
$ServletRequestServicer_10b756c779b.service($ServletRequestServicer_10b756c779b.java)
>        at org.apache.tapestry.request.DecodedRequestInjector.service(
> DecodedRequestInjector.java:55)
>        at
> 
$ServletRequestServicerFilter_10b756c7797.service($ServletRequestServicerFilter_10b756c7797.java)
>        at
> 
$ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at org.apache.tapestry.multipart.MultipartDecoderFilter.service(
> MultipartDecoderFilter.java:52)
>        at
> 
$ServletRequestServicerFilter_10b756c7795.service($ServletRequestServicerFilter_10b756c7795.java)
>        at
> 
$ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at org.apache.tapestry.services.impl.SetupRequestEncoding.service(
> SetupRequestEncoding.java:53)
>        at
> 
$ServletRequestServicerFilter_10b756c7799.service($ServletRequestServicerFilter_10b756c7799.java)
>        at
> 
$ServletRequestServicer_10b756c779d.service($ServletRequestServicer_10b756c779d.java)
>        at
> 
$ServletRequestServicer_10b756c778f.service($ServletRequestServicer_10b756c778f.java)
>        at org.apache.tapestry.ApplicationServlet.doService(
> ApplicationServlet.java:123)
>        at org.apache.tapestry.ApplicationServlet.doGet(
> ApplicationServlet.java:79)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:596)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>        at org.mortbay.jetty.servlet.ServletHolder.handle(
> ServletHolder.java:428)
>        at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(
> WebApplicationHandler.java:473)
>        at org.mortbay.jetty.servlet.ServletHandler.handle(
> ServletHandler.java:568)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
>        at org.mortbay.jetty.servlet.WebApplicationContext.handle(
> WebApplicationContext.java:633)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
>        at org.mortbay.http.HttpServer.service(HttpServer.java:909)
>        at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
>        at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java
> :986)
>        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
>        at org.mortbay.http.SocketListener.handleConnection(
> SocketListener.java:245)
>        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
>        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
>
> 2006/5/21, Henri Dupre <[EMAIL PROTECTED]>:
> > I finished packaging my email service into a nice jar file... You just
> drop
> > it in the classpath and then you can inject the email service in any
> page.
> >
> > The API is:
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > pageName, Object[] parameters, boolean html);
> >
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> IPage
> > page, Object[] parameters, boolean html);
> >   public abstract void sendEmail(Map<EmailField,String> properties,
> String
> > content, boolean html);
> >
> >
> > The page emailed can be external and you can pass parameters to it. The
> > service doesn't interfere with the current rendering.
> > Here is a small example:
> >
> >   @InjectObject("service:actualis.tapestry.email.EmailEngine")
> >   public abstract EmailEngine getEmailEngine();
> >
> >   public void emailConfig() {
> >     Map<EmailField,String> emailProps = new
> HashMap<EmailField,String>();
> >     emailProps.put(EmailField.SUBJECT,"Votre devis");
> >     emailProps.put(EmailField.FROM, "[EMAIL PROTECTED]");
> >     emailProps.put(EmailField.TO, getEmailClient());
> >     getEmailEngine().sendEmail(emailProps, "EmailConfigurationTxt", new
> > Object[] { getConfiguration() }, false);
> >   }
> >
> > If anyone is interested I can send my stuff... I wouldn't mind
> contributing
> > my component to a tapestry component repository but I did not find any
> > information on how to contribute.
> >
> >
> > --
> > Thanks,
> >
> > Henri.
> >
> >
>
>
> --
> /ted
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
Thanks,

Henri.




--
/ted

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to