org.springframework.integration.adapter.mail
Class MailTarget

java.lang.Object
  extended by org.springframework.integration.adapter.mail.MailTarget
All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean, MessageTarget

public class MailTarget
extends java.lang.Object
implements MessageTarget, org.springframework.beans.factory.InitializingBean

A target adapter for sending mail.

Author:
Marius Bogoevici, Mark Fisher

Nested Class Summary
private static class MailTarget.DefaultObjectMailMessageMapper
           
 
Field Summary
private  MessageMapper<byte[],org.springframework.mail.MailMessage> byteArrayMessageMapper
           
private  MailHeaderGenerator mailHeaderGenerator
           
private  org.springframework.mail.javamail.JavaMailSender mailSender
           
private  MessageMapper<java.lang.Object,org.springframework.mail.MailMessage> objectMessageMapper
           
private  MessageMapper<java.lang.String,org.springframework.mail.MailMessage> textMessageMapper
           
 
Constructor Summary
MailTarget(org.springframework.mail.javamail.JavaMailSender mailSender)
          Create a MailTargetAdapter.
 
Method Summary
 void afterPropertiesSet()
           
private  org.springframework.mail.MailMessage convertMessageToMailMessage(Message<?> message)
           
 boolean send(Message<?> message)
          Send a Message to this target.
private  void sendMailMessage(org.springframework.mail.MailMessage mailMessage)
           
 void setByteArrayMessageMapper(MessageMapper<byte[],org.springframework.mail.MailMessage> byteArrayMessageMapper)
           
 void setHeaderGenerator(MailHeaderGenerator mailHeaderGenerator)
           
 void setObjectMessageMapper(MessageMapper<java.lang.Object,org.springframework.mail.MailMessage> objectMessageMapper)
           
 void setTextMessageMapper(MessageMapper<java.lang.String,org.springframework.mail.MailMessage> textMessageMapper)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mailSender

private final org.springframework.mail.javamail.JavaMailSender mailSender

mailHeaderGenerator

private volatile MailHeaderGenerator mailHeaderGenerator

textMessageMapper

private volatile MessageMapper<java.lang.String,org.springframework.mail.MailMessage> textMessageMapper

byteArrayMessageMapper

private volatile MessageMapper<byte[],org.springframework.mail.MailMessage> byteArrayMessageMapper

objectMessageMapper

private volatile MessageMapper<java.lang.Object,org.springframework.mail.MailMessage> objectMessageMapper
Constructor Detail

MailTarget

public MailTarget(org.springframework.mail.javamail.JavaMailSender mailSender)
Create a MailTargetAdapter.

Parameters:
mailSender - the JavaMailSender instance to which this adapter will delegate.
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

setHeaderGenerator

public void setHeaderGenerator(MailHeaderGenerator mailHeaderGenerator)

setTextMessageMapper

public void setTextMessageMapper(MessageMapper<java.lang.String,org.springframework.mail.MailMessage> textMessageMapper)

setByteArrayMessageMapper

public void setByteArrayMessageMapper(MessageMapper<byte[],org.springframework.mail.MailMessage> byteArrayMessageMapper)

setObjectMessageMapper

public void setObjectMessageMapper(MessageMapper<java.lang.Object,org.springframework.mail.MailMessage> objectMessageMapper)

send

public final boolean send(Message<?> message)
Description copied from interface: MessageTarget
Send a Message to this target. May throw a RuntimeException for non-recoverable errors. Otherwise, if the Message cannot be sent for a non-fatal reason such as timeout, then this method will return 'false', and if the Message is sent successfully, it will return 'true'.

Specified by:
send in interface MessageTarget
Parameters:
message - the Message to send
Returns:
whether the Message has been sent successfully

convertMessageToMailMessage

private org.springframework.mail.MailMessage convertMessageToMailMessage(Message<?> message)

sendMailMessage

private void sendMailMessage(org.springframework.mail.MailMessage mailMessage)