I'm kind of surprised no one has run into this one yet, but I searched the forums and bugzilla and didn't get any hits. Either I'm not searching right or we're doing something wrong on our end. Or I guess I could just be the lucky one that found a bug.

We're in the process of migrating our email server from a simple Linux/Postfix/POP3 setup to Zimbra. On the client level our users currently use Microsoft Outlook (2000 and 2003), but we are trying to get them to move to the Zimbra Web Client.

What we are finding is that if an Outlook user has their Message format set to "Microsoft Outlook Rich Text Format" and sends a message to a Zimbra Web Client user the message comes through with an "Unknown <text/rtf>" attachment. No big deal here, as the user can still read the message just fine. However, if the Web Client user then tries to forward the message, by default it includes the attachment, and then produces an error when the users clicks on Send.

Internally we can have our Outlook users change their message format, and train the Web Client users to un-check the attachment box when they want to forward one of these messages. However, it is a bit of a nuisance, especially when you consider the number of Outlook users, and the fact that we have no control over settings of people outside the company.

Here is the text of the error message:
Code:
msg - system failure: IOException
com.zimbra.common.service.ServiceException: system failure: IOException
	at com.zimbra.common.service.ServiceException.FAILURE(ServiceException.java:175)
	at com.zimbra.cs.mailbox.MailSender.sendMimeMessage(MailSender.java:304)
	at com.zimbra.cs.mailbox.MailSender.sendMimeMessage(MailSender.java:124)
	at com.zimbra.cs.operation.SendMsgOperation.callback(SendMsgOperation.java:114)
	at com.zimbra.cs.operation.Operation.schedule(Operation.java:190)
	at com.zimbra.cs.service.mail.SendMsg.handle(SendMsg.java:140)
	at com.zimbra.soap.SoapEngine.dispatchRequest(SoapEngine.java:270)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:168)
	at com.zimbra.soap.SoapEngine.dispatch(SoapEngine.java:90)
	at com.zimbra.soap.SoapServlet.doPost(SoapServlet.java:223)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	at com.zimbra.cs.servlet.ZimbraServlet.service(ZimbraServlet.java:162)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
	at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: No content
	at javax.mail.internet.MimePartDataSource.getInputStream(MimePartDataSource.java:82)
	at javax.activation.DataHandler.writeTo(DataHandler.java:287)
	at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
	at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:709)
	at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:271)
	at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:67)
	at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:839)
	at javax.activation.DataHandler.writeTo(DataHandler.java:295)
	at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1209)
	at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1614)
	at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1590)
	at com.zimbra.cs.mime.ParsedMessage.mimeToRaw(ParsedMessage.java:286)
	at com.zimbra.cs.mime.ParsedMessage.getRawData(ParsedMessage.java:299)
	at com.zimbra.cs.mailbox.Mailbox.addMessage(Mailbox.java:3287)
	at com.zimbra.cs.mailbox.Mailbox.addMessage(Mailbox.java:3265)
	at com.zimbra.cs.mailbox.MailSender.sendMimeMessage(MailSender.java:224)
	... 26 more

code - service.FAILURE
method - ZmCsfeCommand.prototype.invoke
detail - soap:Receiver