Re: tapestry email service
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)
Re: tapestry email service
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
RE: tapestry email service
Henri, will the service work with Java 1.4.x? Thanks! /dev/mrg -Original Message- From: Henri Dupre [mailto:[EMAIL PROTECTED] Sent: Sunday, May 21, 2006 2:44 PM To: Tapestry users Subject: tapestry email service 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry email service
No it would not but it would require very little changes to work with JDK 1.4. On 5/22/06, Gentry, Michael (Contractor) [EMAIL PROTECTED] wrote: Henri, will the service work with Java 1.4.x? Thanks! /dev/mrg -Original Message- From: Henri Dupre [mailto:[EMAIL PROTECTED] Sent: Sunday, May 21, 2006 2:44 PM To: Tapestry users Subject: tapestry email service 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Thanks, Henri.
tapestry email service
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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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.
Re: tapestry email service
This so soo cool! Thanks! I would be very happy to get a copy, waiting for any official recognition. Cheers, PS On 5/21/06, Henri Dupre [EMAIL PROTECTED] wrote: 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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.
Re: tapestry email service
Great work Henri, i also would like to get my hands on that.. Being this a drop in jar and all i think that it would fit nicely in the [EMAIL PROTECTED] project. You should probably ask Howard, that leads that project about that. Cheers Hugo Henri Dupre wrote: 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry email service
There is also the Tassel project at TapestryComponents.org that allows you to upload (http://www.tapestrycomponents.org/Tassel/app). -warner On May 21, 2006, at 11:43 AM, Henri Dupre wrote: 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry email service
What about publishing it on Tassel (http://equalitylearning.org/Tassel)?. Best regards. 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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.
Re: tapestry email service
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 There is a link on the home page to Tassel - under Related Projects Peter Svensson wrote: Actually, one does not exclude the other. Tassel has a large number of components already. My only gripe with tassel is that there is not direct link to it from the tapestry homepage, so you have to kind of look for it in the wiki or google for something like it to find it. Cheers, PS -BEGIN PGP SIGNATURE- Version: GnuPG v1.2.5 (MingW32) iD8DBQFEcMaGaCoPKRow/gARAmi9AJ4iJD1dwTLfpUbi1caEtyGcuOlxggCgzIJu jPqzRFRwME0s8Mb3X9T7HgQ= =wl6O -END PGP SIGNATURE- - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tapestry email service
I just had a look at tassel, it doesn't look bad but they don't seem to provide any cvs or svn repository? For now I uploaded it on our server http://www.actualis.com/tapestry/tapestry-email-0.1.0.zip Henri. On 5/21/06, Julio C. Rivera [EMAIL PROTECTED] wrote: What about publishing it on Tassel (http://equalitylearning.org/Tassel)?. Best regards. 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. -- Thanks, Henri.
Re: tapestry email service
blushOh, right. There it was all along. Sorry /blush Cheers, PS On 5/21/06, Henri Dupre [EMAIL PROTECTED] wrote: I just had a look at tassel, it doesn't look bad but they don't seem to provide any cvs or svn repository? For now I uploaded it on our server http://www.actualis.com/tapestry/tapestry-email-0.1.0.zip Henri. On 5/21/06, Julio C. Rivera [EMAIL PROTECTED] wrote: What about publishing it on Tassel (http://equalitylearning.org/Tassel) ?. Best regards. 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(MapEmailField,String properties, String pageName, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,String properties, IPage page, Object[] parameters, boolean html); public abstract void sendEmail(MapEmailField,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() { MapEmailField,String emailProps = new HashMapEmailField,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. -- Thanks, Henri.