The root cause was that the email addresses where wrapped in ", e.g.
"[email protected]". I have opened 
http://code.google.com/p/googleappengine/issues/detail?id=3550
which asks for a better error message.

On Aug 4, 11:52 pm, Robert Munteanu <[email protected]> wrote:
> Hi,
>
> I keep getting the following error when trying to send emails. Any
> idea as to why? What's even more worrisome is that this is also
> consuming my quota...
>
> Robert
>
> com.example.web.EmailController newsletterSend: Email not sent to
> "real mail here".
> javax.mail.SendFailedException: MailService IO failed
> (java.io.IOException: Internal error)
>         at
> com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:
> 253)
>         at javax.mail.Transport.send(Transport.java:95)
>         at javax.mail.Transport.send(Transport.java:48)
>         at com.example.web.EmailController.sendMailTo(EmailController.java:
> 73)
>         at com.example.EmailController.newsletterSend(EmailController.java:
> 168)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_
> $1.run(Method_.java:165)
>         at java.security.AccessController.doPrivileged(Native Method)
>         at
> com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java:
> 163)
>         at
> com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java:
> 124)
>         at
> com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java:
> 43)
>         at
> org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:
> 174)
>         at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:
> 421)
>         at
> org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:
> 409)
>         at
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:
> 771)
>         at
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:
> 716)
>         at
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:
> 644)
>         at
> org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:
> 560)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:713)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 511)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1166)
>         at
> com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:
> 111)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
> 97)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
> 35)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
> 43)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1157)
>         at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> 388)
>         at
> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> 216)
>         at
> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> 182)
>         at
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> 765)
>         at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> 418)
>         at
> com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
> 238)
>         at
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> 152)
>         at org.mortbay.jetty.Server.handle(Server.java:326)
>         at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> 542)
>         at org.mortbay.jetty.HttpConnection
> $RequestHandler.headerComplete(HttpConnection.java:923)
>         at
> com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
> 76)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>         at
> com.google.apphosting.runtime.jetty.JettyServletEngineAdapter.serviceRequest(JettyServletEngineAdapter.java:
> 135)
>         at
> com.google.apphosting.runtime.JavaRuntime.handleRequest(JavaRuntime.java:
> 250)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:7115)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $6.handleBlockingRequest(RuntimePb.java:7113)
>         at
> com.google.net.rpc.impl.BlockingApplicationHandler.handleRequest(BlockingApplicationHandler.java:
> 24)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 398)
>         at com.google.net.rpc.impl.Server$2.run(Server.java:852)
>         at
> com.google.tracing.LocalTraceSpanRunnable.run(LocalTraceSpanRunnable.java:
> 56)
>         at
> com.google.tracing.LocalTraceSpanBuilder.internalContinueSpan(LocalTraceSpanBuilder.java:
> 576)
>         at com.google.net.rpc.impl.Server.startRpc(Server.java:807)
>         at com.google.net.rpc.impl.Server.processRequest(Server.java:369)
>         at
> com.google.net.rpc.impl.ServerConnection.messageReceived(ServerConnection.java:
> 442)
>         at
> com.google.net.rpc.impl.RpcConnection.parseMessages(RpcConnection.java:
> 319)
>         at
> com.google.net.rpc.impl.RpcConnection.dataReceived(RpcConnection.java:
> 290)
>         at com.google.net.async.Connection.handleReadEvent(Connection.java:
> 474)
>         at
> com.google.net.async.EventDispatcher.processNetworkEvents(EventDispatcher.java:
> 831)
>         at
> com.google.net.async.EventDispatcher.internalLoop(EventDispatcher.java:
> 207)
>         at com.google.net.async.EventDispatcher.loop(EventDispatcher.java:
> 103)
>         at
> com.google.net.rpc.RpcService.runUntilServerShutdown(RpcService.java:
> 251)
>         at com.google.apphosting.runtime.JavaRuntime
> $RpcRunnable.run(JavaRuntime.java:417)
>         at java.lang.Thread.run(Unknown Source)
> Caused by: java.io.IOException: Internal error
>         at
> com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java:
> 111)
>         at
> com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java:
> 32)
>         at
> com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:
> 247)
>         ... 65 more

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to