Re: [grails-user] Using Emailer Service on AWS EC2

by John Adeluson 2009-07-01T04:07:17+00:00
Hi Lee,
Yes it looks like I have a mail-1.4.jar in both ./home/ec2/lib/ and ./
var/lib/tomcat5/webapps/MyApp/WEB-INF/lib/
[root@ip-10-250-47-0 /]# find . -name mail*.jar -print
./home/ec2/lib/mail-1.4.jar
./usr/share/java/classpathx-mail/mail-1.3.1-api-1.1.1.jar
./usr/share/java/classpathx-mail/mail-1.3.1-api.jar
./usr/share/java/classpathx-mail/mail-1.3.1-providers.jar
./usr/share/java/classpathx-mail/mail-1.3.1-providers-1.1.1.jar
./usr/share/java/classpathx-mail/mailapi.jar
./var/lib/tomcat5/webapps/MyApp/WEB-INF/lib/mail-1.4.jar
./var/lib/jets3t-0.5.0/libs/javamail/mail.jar
John
On Jun 30, 2009, at 8:56 PM, Lee Butts wrote:
> My quick Google told me that the error is caused by having mail.jar
> in the classpath multiple times.
>
> Is it in the shared/lib folder of your tomcat install as well as in
> your app/grails lib folder?
>
> cheers
>
> Lee
>
> 2009/7/1 Jeffrey Johnson
> Did you make sure that port 25 is open in your Security Group?
>
> On Tue, Jun 30, 2009 at 8:39 PM, John Adelus wrote:
> > Has anyone tried using the Emailer Service on Amazon Web Services
> EC2 and
> > knows how it must be configured?
> >
> > I have it working fine on my local machine but when I run my
> Grails app
> > under AWS (using a RightScale small server) I get the following
> error.
> >
> > Thanks for your help.
> >
> > John Adelus
> >
> > 2009-06-30 23:20:41,104 [TP-Processor12] ERROR
> service.EmailerService -
> > Failed to send emails: Mail server connection failed; nested
> > exception is javax.mail.NoSuchProviderException: smtp
> > org.springframework.mail.MailSendException: Mail server connection
> failed;
> > nested exception is javax.mail.NoSuchProviderException: smtp
> > at
> >
> org
> .springframework
> .mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:419)
> > at
> >
> org
> .springframework
> .mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:308)
> > 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:597)
> > at
> > org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite
> $PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:188)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:52)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> > at
> >
> org
> .codehaus
> .groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> 117)
> > at
> >
> org
> .codehaus
> .groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> 125)
> > at EmailerService.sendEmails(EmailerService.groovy:41)
> > at EmailerService$sendEmails.call(Unknown Source)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:40)
> > at
> >
> org
> .codehaus
> .groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> 117)
> > at
> >
> org
> .codehaus
> .groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:
> 125)
> > at
> >
> com
> .itelliseek
> .Wine.RegisterController.sendEmail(RegisterController.groovy:252)
> > at
> > com.itelliseek.Wine.RegisterController.this
> $2$sendEmail(RegisterController.groovy)
> > 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:597)
> > at
> >
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
> 86)
> > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1062)
> > at
> > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:926)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:893)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1010)
> > at
> > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:926)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:893)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime
> .callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:66)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime
> .callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
> 143)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
> 151)
> > at
> > com.itelliseek.Wine.RegisterController
> $_closure5.doCall(RegisterController.groovy:173)
> > 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:597)
> > at
> > org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite
> $PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.ja
> > va:266)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime
> .callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:51)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime
> .callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:44)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
> 143)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:
> 151)
> > at
> > com.itelliseek.Wine.RegisterController
> $_closure5.doCall(RegisterController.groovy)
> > 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:597)
> > at
> >
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
> 86)
> > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1062)
> > at
> > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:926)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:893)
> > at groovy.lang.Closure.call(Closure.java:279)
> > at groovy.lang.Closure.call(Closure.java:274)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleAction
> (SimpleGrailsControllerHelper.java:36
> > 8)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.executeAction
> (SimpleGrailsControllerHelper.java:2
> > 43)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI
> (SimpleGrailsControllerHelper.java:203)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsControllerHelper.handleURI
> (SimpleGrailsControllerHelper.java:138)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.SimpleGrailsController.handleRequest
> (SimpleGrailsController.java:88)
> > at
> > org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle
> (SimpleControllerHandlerAdapter.java:48)
> > at
> > org.codehaus.groovy.grails.web.servlet.GrailsDispatcherServlet.doDispatch
> (GrailsDispatcherServlet.java:264)
> > at
> >
> org
> .springframework
> .web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
> > at
> >
> org
> .springframework
> .web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
> 571)
> > at
> >
> org
> .springframework
> .web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:
> 710)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:
> 803)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 269)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> >
> org
> .springframework
> .web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
> 70)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> >
> org
> .springframework
> .web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
> 70)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:691)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
> > at
> > org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo
> (WebUtils.java:293)
> > at
> > org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo
> (WebUtils.java:269)
> > at
> > org.codehaus.groovy.grails.web.util.WebUtils.forwardRequestForUrlMappingInfo
> (WebUtils.java:261)
> > at
> > org.codehaus.groovy.grails.web.mapping.filter.UrlMappingsFilter.doFilterInternal
> (UrlMappingsFilter.java:181)
> > at
> >
> org
> .springframework
> .web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
> 76)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> > org.codehaus.groovy.grails.web.sitemesh.GrailsPageFilter.obtainContent
> (GrailsPageFilter.java:221)
> > at
> >
> org
> .codehaus
> .groovy
> .grails.web.sitemesh.GrailsPageFilter.doFilter(GrailsPageFilter.java:
> 126)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:378)
> > at
> > org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke
> (FilterSecurityInterceptor.java:109)
> > at
> > org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter
> (FilterSecurityInterceptor.java:83)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .ui
> .ExceptionTranslationFilter
> .doFilterHttp(ExceptionTranslationFilter.java:101)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .providers
> .anonymous
> .AnonymousProcessingFilter
> .doFilterHttp(AnonymousProcessingFilter.java:10
> > 5)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .ui
> .rememberme
> .RememberMeProcessingFilter
> .doFilterHttp(RememberMeProcessingFilter.java:109)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .wrapper
> .SecurityContextHolderAwareRequestFilter
> .doFilterHttp(SecurityContextHolderAwareReque
> > stFilter.java:91)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .ui
> .AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:
> 277)
> > at
> >
> org
> .codehaus
> .groovy
> .grails
> .plugins.springsecurity.GrailsAuthenticationProcessingFilter.super
> $3$doFilterHttp(GrailsAuthent
> > icationProcessingFilter.groovy)
> > at sun.reflect.GeneratedMethodAccessor636.invoke(Unknown
> Source)
> > at
> >
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> > at java.lang.reflect.Method.invoke(Method.java:597)
> > at
> >
> org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:
> 86)
> > at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:234)
> > at
> groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1062)
> > at
> > groovy.lang.ExpandoMetaClass.invokeMethod(ExpandoMetaClass.java:926)
> > at
> >
> org
> .codehaus
> .groovy
> .runtime
> .ScriptBytecodeAdapter
> .invokeMethodOnSuperN(ScriptBytecodeAdapter.java:127)
> > at
> >
> org
> .codehaus
> .groovy
> .grails
> .plugins
> .springsecurity
> .GrailsAuthenticationProcessingFilter
> .doFilterHttp(GrailsAuthenticationP
> > rocessingFilter.groovy:56)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security
> .context
> .HttpSessionContextIntegrationFilter
> .doFilterHttp(HttpSessionContextIntegrationFilter
> > .java:235)
> > at
> >
> org
> .springframework
> .security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:
> 53)
> > at
> > org.springframework.security.util.FilterChainProxy
> $VirtualFilterChain.doFilter(FilterChainProxy.java:390)
> > at
> >
> org
> .springframework
> .security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
> > at
> >
> org
> .springframework
> .web
> .filter
> .DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> > at
> >
> org
> .springframework
> .web
> .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> > org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal
> (GrailsWebRequestFilter.java:65)
> > at
> >
> org
> .springframework
> .web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
> 76)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> > org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal
> (CharacterEncodingFilter.java:96)
> > at
> >
> org
> .springframework
> .web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:
> 76)
> > at
> >
> org
> .springframework
> .web
> .filter
> .DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
> > at
> >
> org
> .springframework
> .web
> .filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
> > at
> >
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 215)
> > at
> >
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
> > at
> >
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 210)
> > at
> >
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 172)
> > at
> >
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> > at
> >
> org
> .apache
> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
> > at
> >
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 108)
> > at
> >
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 151)
> > at
> > org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:
> 200)
> > at
> > org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
> > at
> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773)
> > at
> >
> org
> .apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:
> 703)
> > at
> > org.apache.jk.common.ChannelSocket
> $SocketConnection.runIt(ChannelSocket.java:895)
> > at
> > org.apache.tomcat.util.threads.ThreadPool
> $ControlRunnable.run(ThreadPool.java:685)
> > at java.lang.Thread.run(Thread.java:619)
> > Caused by: javax.mail.NoSuchProviderException: smtp
> > at javax.mail.Session.getService(Session.java:782)
> > at javax.mail.Session.getTransport(Session.java:708)
> > at javax.mail.Session.getTransport(Session.java:651)
> > at javax.mail.Session.getTransport(Session.java:631)
> > at
> >
> org
> .springframework
> .mail
> .javamail.JavaMailSenderImpl.getTransport(JavaMailSenderImpl.java:434)
> > at
> >
> org
> .springframework
> .mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:388)
> > ... 153 more
> >
> >
> >
> >
> >
> >
> >
> ---------------------------------------------------------------------
> > To unsubscribe from this list, please visit:
> >
> > http://xircles.codehaus.org/manage_email
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>

Conversations: [grails-user] Using Emailer Service on AWS EC2