Bug 108 - ZxMobile exception: sync - SendMail[1440]: The client .... is sending emails without message-id
Summary: ZxMobile exception: sync - SendMail[1440]: The client .... is sending emails ...
Status: RESOLVED WORKSFORME
Alias: None
Product: ZeXtras
Classification: Unclassified
Component: ZxMobile (show other bugs)
Version: 1.8.12
Hardware: -- CentOS 6 - 64bit
: Normal critical
Assignee: ZeXtras Bugzilla Admin
QA Contact:
URL:
Depends on:
Blocks:
 
Reported: 2014-02-05 22:53 CET by David Sommerseth
Modified: 2014-11-06 11:37 CET (History)
1 user (show)

See Also:
Browser: ---
Zimlet Chat version: ---
Zimbra Version: ZCS 8.X


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Sommerseth 2014-02-05 22:53:32 CET
My Jolla phone seems to send calendar invites without any message ID, which makes ZxMobile sync choke.

From /opt/zimbra/log/sync.log:
-------------------------------------------------------------------------------
2014-02-05 23:39:31,387 INFO  [user1@example.com JP359745050139184] [tid=73272;] sync - ZxMobile Handler: [10.35.0.232] ZxMobile Command SendMail on account user1@example.com from device SailfishOS/JP359745050139184
2014-02-05 23:39:31,388 WARN  [user1@example.com JP359745050139184] [tid=73272;] sync - SendMail[1440]: The client 1d400c96-0601-44e4-9e17-70f7c45a7cec\JP359745050139184 is sending emails without message-id
2014-02-05 23:39:31,410 WARN  [user1@example.com JP359745050139184] [tid=73272;] sync - SendMail[1440]: Unable to send mail: com.zimbra.common.service.ServiceException: system failure: Unable to send message
ExceptionId:user1@example.com JP359745050139184:1391639971409:78ac89fd5092d61e
Code:service.FAILURE
        at com.zimbra.common.service.ServiceException.FAILURE ( ServiceException.java:258 )
        at com.zimbra.cs.mailbox.MailSender.sendMimeMessage ( MailSender.java:691 )
        at com.zimbra.cs.mailbox.MailSender.sendMimeMessage ( MailSender.java:448 )
        at com.zextras.zal.ZEMailbox.sendMimeMessage ( ZEMailbox.java:444 )
        at com.zextras.mobile.syncop.SendMailBase.doProcess ( SendMailBase.java:659 )
        at com.zextras.mobile.ZEMobileHandler.managePost ( ZEMobileHandler.java:403 )
        at com.zextras.mobile.ZEActiveSyncBackend.handleActiveSyncRequest ( ZEActiveSyncBackend.java:58 )
        at com.zextras.mobile.ZEActiveSyncBackend.doPost ( ZEActiveSyncBackend.java:33 )
        at com.zimbra.cs.extension.ExtensionDispatcherServlet.service ( ExtensionDispatcherServlet.java:99 )
        at javax.servlet.http.HttpServlet.service ( HttpServlet.java:820 )
        at org.eclipse.jetty.servlet.ServletHolder.handle ( ServletHolder.java:654 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1320 )
        at com.zimbra.cs.servlet.RequestStringFilter.doFilter ( RequestStringFilter.java:52 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.SetHeaderFilter.doFilter ( SetHeaderFilter.java:57 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlets.UserAgentFilter.doFilter ( UserAgentFilter.java:82 )
        at org.eclipse.jetty.servlets.GzipFilter.doFilter ( GzipFilter.java:256 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter ( ETagHeaderFilter.java:45 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter ( ZimbraQoSFilter.java:114 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilterChain ( DoSFilter.java:474 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilter ( DoSFilter.java:345 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilter ( DoSFilter.java:316 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlet.ServletHandler.doHandle ( ServletHandler.java:443 )
        at org.eclipse.jetty.server.handler.ScopedHandler.handle ( ScopedHandler.java:137 )
        at org.eclipse.jetty.security.SecurityHandler.handle ( SecurityHandler.java:556 )
        at org.eclipse.jetty.server.session.SessionHandler.doHandle ( SessionHandler.java:227 )
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle ( ContextHandler.java:1044 )
        at org.eclipse.jetty.servlet.ServletHandler.doScope ( ServletHandler.java:372 )
        at org.eclipse.jetty.server.session.SessionHandler.doScope ( SessionHandler.java:189 )
        at org.eclipse.jetty.server.handler.ContextHandler.doScope ( ContextHandler.java:978 )
        at org.eclipse.jetty.server.handler.ScopedHandler.handle ( ScopedHandler.java:135 )
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle ( ContextHandlerCollection.java:255 )
        at org.eclipse.jetty.server.handler.HandlerCollection.handle ( HandlerCollection.java:154 )
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle ( HandlerWrapper.java:116 )
        at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle ( RewriteHandler.java:317 )
        at org.eclipse.jetty.server.handler.DebugHandler.handle ( DebugHandler.java:81 )
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle ( HandlerWrapper.java:116 )
        at org.eclipse.jetty.server.Server.handle ( Server.java:369 )
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest ( AbstractHttpConnection.java:486 )
        at org.eclipse.jetty.server.AbstractHttpConnection.content ( AbstractHttpConnection.java:944 )
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content ( AbstractHttpConnection.java:1005 )
        at org.eclipse.jetty.http.HttpParser.parseNext ( HttpParser.java:865 )
        at org.eclipse.jetty.http.HttpParser.parseAvailable ( HttpParser.java:235 )
        at org.eclipse.jetty.server.AsyncHttpConnection.handle ( AsyncHttpConnection.java:82 )
        at org.eclipse.jetty.io.nio.SslConnection.handle ( SslConnection.java:196 )
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle ( SelectChannelEndPoint.java:668 )
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run ( SelectChannelEndPoint.java:52 )
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob ( QueuedThreadPool.java:608 )
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run ( QueuedThreadPool.java:543 )
        at java.lang.Thread.run ( Thread.java:744 )
Caused by: javax.mail.internet.AddressException: Illegal semicolon, not in group in string ``externaluser@example.com;'' at position 21
        at javax.mail.internet.InternetAddress.parse ( InternetAddress.java:921 )
        at javax.mail.internet.InternetAddress.parseHeader ( InternetAddress.java:658 )
        at javax.mail.internet.MimeMessage.getAddressHeader ( MimeMessage.java:702 )
        at javax.mail.internet.MimeMessage.getRecipients ( MimeMessage.java:534 )
        at javax.mail.Message.getAllRecipients ( Message.java:305 )
        at javax.mail.internet.MimeMessage.getAllRecipients ( MimeMessage.java:549 )
        at com.zimbra.cs.mailbox.MailSender.sendMimeMessage ( MailSender.java:515 )
        at com.zimbra.cs.mailbox.MailSender.sendMimeMessage ( MailSender.java:448 )
        at com.zextras.zal.ZEMailbox.sendMimeMessage ( ZEMailbox.java:444 )
        at com.zextras.mobile.syncop.SendMailBase.doProcess ( SendMailBase.java:659 )
        at com.zextras.mobile.ZEMobileHandler.managePost ( ZEMobileHandler.java:403 )
        at com.zextras.mobile.ZEActiveSyncBackend.handleActiveSyncRequest ( ZEActiveSyncBackend.java:58 )
        at com.zextras.mobile.ZEActiveSyncBackend.doPost ( ZEActiveSyncBackend.java:33 )
        at com.zimbra.cs.extension.ExtensionDispatcherServlet.service ( ExtensionDispatcherServlet.java:99 )
        at javax.servlet.http.HttpServlet.service ( HttpServlet.java:820 )
        at org.eclipse.jetty.servlet.ServletHolder.handle ( ServletHolder.java:654 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1320 )
        at com.zimbra.cs.servlet.RequestStringFilter.doFilter ( RequestStringFilter.java:52 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.SetHeaderFilter.doFilter ( SetHeaderFilter.java:57 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlets.UserAgentFilter.doFilter ( UserAgentFilter.java:82 )
        at org.eclipse.jetty.servlets.GzipFilter.doFilter ( GzipFilter.java:256 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.ETagHeaderFilter.doFilter ( ETagHeaderFilter.java:45 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter ( ZimbraQoSFilter.java:114 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilterChain ( DoSFilter.java:474 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilter ( DoSFilter.java:345 )
        at org.eclipse.jetty.servlets.DoSFilter.doFilter ( DoSFilter.java:316 )
        at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter ( ServletHandler.java:1291 )
        at org.eclipse.jetty.servlet.ServletHandler.doHandle ( ServletHandler.java:443 )
        at org.eclipse.jetty.server.handler.ScopedHandler.handle ( ScopedHandler.java:137 )
        at org.eclipse.jetty.security.SecurityHandler.handle ( SecurityHandler.java:556 )
        at org.eclipse.jetty.server.session.SessionHandler.doHandle ( SessionHandler.java:227 )
        at org.eclipse.jetty.server.handler.ContextHandler.doHandle ( ContextHandler.java:1044 )
        at org.eclipse.jetty.servlet.ServletHandler.doScope ( ServletHandler.java:372 )
        at org.eclipse.jetty.server.session.SessionHandler.doScope ( SessionHandler.java:189 )
        at org.eclipse.jetty.server.handler.ContextHandler.doScope ( ContextHandler.java:978 )
        at org.eclipse.jetty.server.handler.ScopedHandler.handle ( ScopedHandler.java:135 )
        at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle ( ContextHandlerCollection.java:255 )
        at org.eclipse.jetty.server.handler.HandlerCollection.handle ( HandlerCollection.java:154 )
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle ( HandlerWrapper.java:116 )
        at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle ( RewriteHandler.java:317 )
        at org.eclipse.jetty.server.handler.DebugHandler.handle ( DebugHandler.java:81 )
        at org.eclipse.jetty.server.handler.HandlerWrapper.handle ( HandlerWrapper.java:116 )
        at org.eclipse.jetty.server.Server.handle ( Server.java:369 )
        at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest ( AbstractHttpConnection.java:486 )
        at org.eclipse.jetty.server.AbstractHttpConnection.content ( AbstractHttpConnection.java:944 )
        at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content ( AbstractHttpConnection.java:1005 )
        at org.eclipse.jetty.http.HttpParser.parseNext ( HttpParser.java:865 )
        at org.eclipse.jetty.http.HttpParser.parseAvailable ( HttpParser.java:235 )
        at org.eclipse.jetty.server.AsyncHttpConnection.handle ( AsyncHttpConnection.java:82 )
        at org.eclipse.jetty.io.nio.SslConnection.handle ( SslConnection.java:196 )
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle ( SelectChannelEndPoint.java:668 )
        at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run ( SelectChannelEndPoint.java:52 )
        at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob ( QueuedThreadPool.java:608 )
        at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run ( QueuedThreadPool.java:543 )
        at java.lang.Thread.run ( Thread.java:744 )
-------------------------------------------------------------------------------

I believe this is an issue both in Jolla, but also ZxMobile.  It should not fail in this way due to a missing message ID.  In that case, it could be created on-the-fly by ZxMobile.
Comment 1 Cine 2014-02-10 09:36:58 CET
Hello David,

the missing message-id is not the cause issue, as according to protocol specifications it is not a mandatory header.

The error you reported is related to an unexpected semicolon character in one of the recipient addresses. Could you please check that the address(es) you entered was correct without any semicolons in it?

If the recipients are correct, please enable an Account Logger as described at http://wiki.zextras.com/wiki/ZxMobile_Troubleshooting#Account_Loggers_and_Mobile_Troubleshooting, reproduce the issue (2-3 times, if possible) and send the logfile to community@zextras.com?

Have a nice day,
Cine
Comment 2 Cine 2014-11-06 11:09:08 CET
Couldn't reproduce on test environment.
Comment 3 David Sommerseth 2014-11-06 11:37:38 CET
Confirmed.  Running last updates and after firmware updates on Jolla works fine.  The issue was related to e-mails with attachements from Jolla, afair.