[
https://issues.apache.org/activemq/browse/CAMEL-1645?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Rohit reopened CAMEL-1645:
--------------------------
The change works only in case of non multipart message i.e. message without
alternative message body and without attachments, but in case of multipart
messages the following code is executed -
protected void addBodyToMultipart(org.apache.camel.Message camelMessage,
MailConfiguration configuration, MimeMultipart activeMultipart) throws
MessagingException {
BodyPart bodyMessage = new MimeBodyPart();
bodyMessage.setContent(camelMessage.getBody(String.class),
configuration.getContentType());
activeMultipart.addBodyPart(bodyMessage);
}
which takes contentType from configuration and doesn't respect the header
passed.
We should use the contentType header value if passed to set the contentType and
fall back to configuration.getContentType only if required.
Will that take care of applying the charset to the body, if the contentType
header is defined as - text/html; charset=UTF-8?
> Can't set the outgoing mail's content-type and charset
> ------------------------------------------------------
>
> Key: CAMEL-1645
> URL: https://issues.apache.org/activemq/browse/CAMEL-1645
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-mail
> Affects Versions: 1.6.0, 2.0-M1, 1.6.1
> Reporter: Rohit
> Assignee: Claus Ibsen
> Fix For: 1.6.2, 2.0.0
>
>
> The document at http://camel.apache.org/mail.html suggests that contentType
> header should set the Content-Type of the out going mail, but that doesn't
> work.
> I am trying to set the content type of the mail I send using the contentType
> header. That doesn't work, but it works if I put the contentType in the
> endpoint uri. i.e. -
> <camel:setHeader headerName="contentType">
> <camel:constant>text/html</camel:constant>
> </camel:setHeader>
> Has no effect, while this works -
>
> smtp://[email protected]?password=32478hds78&contentType=text/html
> But I am not able to set the charset and it always takes us-ascii
> So for the mail the content type header comes as -
> Content-Type: text/html; charset=us-ascii
> I tried using
> <camel:setHeader headerName="contentType">
> <camel:constant>text/html;charset=UTF-8</camel:constant>
> </camel:setHeader>
> and also
> <camel:setHeader headerName="content-type">
> <camel:constant>text/html;charset=UTF-8</camel:constant>
> </camel:setHeader>
> and
> smtp://[email protected]?password=
> 32478hds78&contentType=text/html;charset=UTF-8
> but nothing works
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.