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.