org.springframework.mail.javamail
Interface JavaMailSender

All Superinterfaces:
MailSender
All Known Implementing Classes:
JavaMailSenderImpl

public interface JavaMailSender
extends MailSender

Extended MailSender interface for JavaMail, supporting MIME messages both as direct arguments and via preparation callbacks.

Not as easy to test as a plain MailSender, but still rather easy compared to full JavaMail code: Just let createMimeMessage return a plain MimeMessage created with a Session.getInstance (empty properties) call, and check the given messages in your mock implementations of the various send methods.

The recommended way of using this class is the MimeMessagePreparator mechanism, possibly using a MimeMessageHelper for populating the message. See MimeMessageHelper's javadoc for an example.

Since:
07.10.2003
Author:
Juergen Hoeller
See Also:
JavaMailSenderImpl, MimeMessagePreparator, MimeMessageHelper

Method Summary
 MimeMessage createMimeMessage()
          Create a new JavaMail MimeMessage for the underlying JavaMail Session of this sender.
 MimeMessage createMimeMessage(InputStream contentStream)
          Create a new JavaMail MimeMessage for the underlying JavaMail Session of this sender, using the given input stream as the message source.
 void send(MimeMessage mimeMessage)
          Send the given JavaMail MIME message.
 void send(MimeMessage[] mimeMessages)
          Send the given array of JavaMail MIME messages in batch.
 void send(MimeMessagePreparator mimeMessagePreparator)
          Send the JavaMail MIME message prepared by the given MimeMessagePreparator.
 void send(MimeMessagePreparator[] mimeMessagePreparators)
          Send the JavaMail MIME messages prepared by the given MimeMessagePreparators.
 
Methods inherited from interface org.springframework.mail.MailSender
send, send
 

Method Detail

createMimeMessage

public MimeMessage createMimeMessage()
Create a new JavaMail MimeMessage for the underlying JavaMail Session of this sender. Needs to be called to create MimeMessage instances that can be prepared by the client and passed to send(MimeMessage).

Returns:
the new MimeMessage instance
See Also:
send(MimeMessage), send(MimeMessage[])

createMimeMessage

public MimeMessage createMimeMessage(InputStream contentStream)
                              throws MailException
Create a new JavaMail MimeMessage for the underlying JavaMail Session of this sender, using the given input stream as the message source.

Parameters:
contentStream - the raw MIME input stream for the message
Returns:
the new MimeMessage instance
Throws:
MailParseException - in case of message creation failure
MailException

send

public void send(MimeMessage mimeMessage)
          throws MailException
Send the given JavaMail MIME message. The message needs to have been created with createMimeMessage.

Parameters:
mimeMessage - message to send
Throws:
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending the message
MailException
See Also:
createMimeMessage()

send

public void send(MimeMessage[] mimeMessages)
          throws MailException
Send the given array of JavaMail MIME messages in batch. The messages need to have been created with createMimeMessage.

Parameters:
mimeMessages - messages to send
Throws:
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending a message
MailException
See Also:
createMimeMessage()

send

public void send(MimeMessagePreparator mimeMessagePreparator)
          throws MailException
Send the JavaMail MIME message prepared by the given MimeMessagePreparator. Alternative way to prepare MimeMessage instances, instead of createMimeMessage and send(MimeMessage) calls. Takes care of proper exception conversion.

Parameters:
mimeMessagePreparator - the preparator to use
Throws:
MailPreparationException - in case of failure when preparing the message
MailParseException - in case of failure when parsing the message
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending the message
MailException

send

public void send(MimeMessagePreparator[] mimeMessagePreparators)
          throws MailException
Send the JavaMail MIME messages prepared by the given MimeMessagePreparators. Alternative way to prepare MimeMessage instances, instead of createMimeMessage and send(MimeMessage[]) calls. Takes care of proper exception conversion.

Parameters:
mimeMessagePreparators - the preparator to use
Throws:
MailPreparationException - in case of failure when preparing a message
MailParseException - in case of failure when parsing a message
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending a message
MailException


Copyright (C) 2003-2004 The Spring Framework Project.