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


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.

Reply via email to