I forgot to mention that the email-id are proper and do not contain
any " or any spl. character. It just that for some reason, the app
will stop sending emails after 66 emails (App Dashboard shows 66mails
sent).

Even re-uploading the app does not solve the issue.


On Jun 18, 5:52 pm, nrworld <[email protected]> wrote:
> Hi,
>
> This is something strange that is happening with my app. It stops
> sending new mail after 66 mails everyday (I can send mail again after
> quota reset). Any pointers would be very helpful.
>
> The following is the portion of my code which sends email:
>
> public String sendEmail(InviteeInfo inviteeInfo) throws Exception {
>                 CapabilitiesService service = CapabilitiesServiceFactory
>                                 .getCapabilitiesService();
>                 CapabilityStatus status = service.getStatus(Capability.MAIL)
>                                 .getStatus();
>
>                 if (status == CapabilityStatus.DISABLED) {
>                         throw new Exception("Google mail service is 
> unavailable");
>                 }
>
>                 Properties props = new Properties();
>                 Session session = Session.getDefaultInstance(props, null);
>
>                 String msgBody = getEmailBody(inviteeInfo);
>
>                 try {
>                         Message msg = new MimeMessage(session);
>                         msg.setFrom(new InternetAddress(
>                                         "[email protected]", 
> "APP OWNER"));
>
>                         msg.addRecipient(Message.RecipientType.TO, new 
> InternetAddress(
>                                         inviteeInfo.getEmailId().trim(), 
> inviteeInfo.getCallName()
>                                                         .trim()));
>                         msg.addRecipient(Message.RecipientType.BCC, new 
> InternetAddress(
>                                         user.getEmail(), user.getNickname()));
>                         msg.setSubject("~~~~ You Are Invited ~~~~");
>                         msg.setContent(msgBody, "text/html");
>                         msg.addHeader("Content-Type", "text/html");
>                         Transport.send(msg);
>                 } catch (Exception e) {
>                         log.warning("Exception at " + inviteeInfo.getEmailId()
>                                         + " from your id " + user.getEmail() 
> + "\n"
>                                         + getException(e));
>                 }
>                 return "not successful";
>         }
>
> Exception points to the line - "Transport.send(msg);", which means
> that the Google mail service was up and running at the time.
>
> And this is the exception message
> net.nrworld.server.InviteManagerServiceImpl sendEmail:
> 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
> net.nrworld.server.InviteManagerServiceImpl.sendEmail(InviteManagerServiceImpl.java:
> 217)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> 57)
>         at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
> 43)
>         at java.lang.reflect.Method.invoke(Method.java:616)
>         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
> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
> 569)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:
> 208)
>         at
> com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:
> 248)
>         at
> com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:
> 62)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>         at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> 511)
>         at org.mortbay.jetty.servlet.ServletHandler
> $CachedChain.doFilter(ServletHandler.java:1166)
>         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:
> 249)
>         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:
> 260)
>         at com.google.apphosting.base.RuntimePb$EvaluationRuntime
> $2.handleRequest(RuntimePb.java:9673)
>         at com.google.net.rpc.impl.RpcUtil.runRpcInApplication(RpcUtil.java:
> 422)
>         at com.google.net.rpc.impl.Server$RpcTask.runInContext(Server.java:
> 573)
>         at com.google.tracing.TraceContext$TraceContextRunnable
> $1.run(TraceContext.java:448)
>         at com.google.tracing.TraceContext.runInContext(TraceContext.java:
> 688)
>         at com.google.tracing.TraceContext
> $AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:
> 326)
>         at com.google.tracing.TraceContext
> $AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:
> 318)
>         at com.google.tracing.TraceContext
> $TraceContextRunnable.run(TraceContext.java:446)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
> 1110)
>         at java.util.concurrent.ThreadPoolExecutor
> $Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:636)
> 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)
>         ... 51 more

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" 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?hl=en.

Reply via email to