KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > servicemix > components > email > SimpleMailSender


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17 package org.apache.servicemix.components.email;
18
19 import javax.jbi.JBIException;
20 import javax.jbi.messaging.MessageExchange;
21 import javax.jbi.messaging.NormalizedMessage;
22
23 import org.apache.servicemix.components.util.OutBinding;
24 import org.springframework.mail.MailSender;
25 import org.springframework.mail.SimpleMailMessage;
26
27 /**
28  * An outbound component capable of sending simple email using Spring
29  *
30  * @version $Revision: 426415 $
31  */

32 public class SimpleMailSender extends OutBinding {
33     private MailSender sender;
34     private SimpleMailMarshaler marshaler = new SimpleMailMarshaler();
35
36     // Properties
37
//-------------------------------------------------------------------------
38
public MailSender getSender() {
39         return sender;
40     }
41
42     public void setSender(MailSender sender) {
43         this.sender = sender;
44     }
45
46     public SimpleMailMarshaler getMarshaler() {
47         return marshaler;
48     }
49
50     public void setMarshaler(SimpleMailMarshaler marshaler) {
51         this.marshaler = marshaler;
52     }
53
54     // Implementation methods
55
//-------------------------------------------------------------------------
56
protected void init() throws JBIException {
57         super.init();
58         if (sender == null) {
59             throw new JBIException("You must configure the sender property");
60         }
61     }
62
63     protected void process(final MessageExchange exchange, final NormalizedMessage message) throws Exception JavaDoc {
64         SimpleMailMessage email = new SimpleMailMessage();
65         marshaler.prepareMessage(email, exchange, message);
66         sender.send(email);
67         done(exchange);
68     }
69 }
70
Popular Tags