Mail Component: Content-ID reference in multipart broken
--------------------------------------------------------
Key: CAMEL-2054
URL: https://issues.apache.org/activemq/browse/CAMEL-2054
Project: Apache Camel
Issue Type: Bug
Components: camel-mail
Affects Versions: 2.0.0, 1.6.1, 1.6.2
Environment: Email clients like gmail, zimbra. Outlook 2003 works
Reporter: slad
It looks like Camel Mail Component does not set Content-ID mime header
correctly or probably assumption is that BodyPart will take care of it. As a
result embedded images in html body do not work ( img src="cid:somename.img").
Currently Content-ID is set as -
//MailBinding.java
// add a Content-ID header to the attachment
messageBodyPart.addHeader("Content-ID", attachmentFilename.substring(4));
But according to RFC standards [http://www.ietf.org/rfc/rfc2392.txt],
Content-ID value should be enclosed with in angle brackets, so it should be
modified to -
//MailBinding.java
// add a Content-ID header to the attachment
messageBodyPart.addHeader("Content-ID", "<" + attachmentFilename.substring(4) +
">");
Also, below should be modified which incorrectly sets fileName inclusive of
"cid:", but expectation would be strip off "cid" off it, similar to Content-ID
// Set the filename
messageBodyPart.setFileName(attachmentFilename);
Should be -
// Set the filename
messageBodyPart.setFileName(attachmentFilename.substring(4));
Also, RFC standard mentions that Content-ID should be globally unique but Camel
Mail just sets it to filename instead. I understand this can be problematic as
camel will have to replace references to each of such cid's in any of the mail
parts.
As I understand from RFC document, is that this is required in case you send
emails itself attachments, and attachments can same name can trample each
other(I may be wrong here). I guess we can live with this for a while :)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.