[ 
https://issues.apache.org/activemq/browse/CAMEL-869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45894#action_45894
 ] 

Claus Ibsen commented on CAMEL-869:
-----------------------------------

Adam could you try to create some java code that sends the email to your mail 
server to test if that code works and that you get the subject?

You can use Spring Mail to assist you:
http://static.springframework.org/spring/docs/2.5.x/reference/mail.html



> 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.

Reply via email to