[
https://issues.apache.org/activemq/browse/CAMEL-869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45870#action_45870
]
Adam commented on CAMEL-869:
----------------------------
There are actually two things:
1. All mails arrived.
2. All of them had correct body.
3. All of them arrived to the intended number of recipients (3 of them in that
case, all set via 'To').
4. For all mails, subject was missing (thirst thing)
5. And (second thing)-> 'From' was not correct, 'From' had the value of the
last element in 'To' array, which seems to be totally odd.
I spend about 3 hours this morning running tests for different combinations,
some very trivial ones, and none of the messages arrived with subject (all
messages arrived).
One more bit of info: I don't pass authentication details for the mail server
(so you need 1.5 SNAPSHOT to run the snippets attached).
> A subject from message header is not copied to mailMessage
> -----------------------------------------------------------
>
> Key: CAMEL-869
> URL: https://issues.apache.org/activemq/browse/CAMEL-869
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-mail
> Affects Versions: 1.4.0, 1.5.0
> Reporter: Adam
> Assignee: Hadrian Zbarcea
> Fix For: 1.5.0
>
>
> The issue refers to sending emails on one of the stages in the messaging
> pipeline. I checked all the suggested solutions from the spec and none of the
> them resulted in an email message with a subject.
> I have the following code:
> ...
> private static final String DIRECT_INFECTION_ALERT =
> "direct:infectionAlert"'
> ...
> from(DIRECT_INFECTION_ALERT)
> .to("xslt:" + infectionAlertXsl)
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception
> {
> Message m = exchange.getIn();
> Map<String,Object> headers = new HashMap<String, Object>();
>
> headers.put(TO_HEADER_KEY, recipients.toString());
> headers.put(FROM_HEADER_KEY, from);
> headers.put(SUBJECT_HEADER_KEY, constant(INFECTION_ALERT_SUBJECT));
>
> m.setHeaders(headers);
> m.setBody(exchange.getIn().getBody(), MailMessage.class);
> MailMessage mail = new MailMessage();
> mail.copyFrom(m);
> exchange.setIn(mail);
> }})
> .to("log:debug","smtp://" + smtp_server + ":" + port);
> and a simple and naive version ->
> from(DIRECT_INFECTION_ALERT)
> .to("xslt:" + infectionAlertXsl)
> .process(new Processor() {
> public void process(Exchange exchange) throws Exception
> {
> Message message = exchange.getIn();
> Map<String,Object> headers = new HashMap<String, Object>();
> headers.put(TO_HEADER_KEY, recipients.toString());
> headers.put(FROM_HEADER_KEY, from);
> headers.put(SUBJECT_HEADER_KEY, constant(INFECTION_ALERT_SUBJECT));
>
> message.setHeaders(headers);
> }})
> .to("log:debug","smtp://" + smtp_server + ":" + port);
> I tried many other combinations, well all from the camel mail component spec.
> Upgraded camel to 1.5-SNAPSHOT (comes with fix for disabling authentication
> on missing username/password for mail server). I can receive email messages,
> no problem, but never managed to get one with a subject. On debugging,
> messages always have correct headers (subject, to, from, etc) but then the
> info is lost somewhere.
> Thanks
> Adam
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.