org.springframework.mail.MailSender interface for JavaMail,
supporting MIME messages both as direct arguments and through preparation
callbacks. Typically used in conjunction with the MimeMessageHelper
class for convenient creation of JavaMail MimeMessages,
including attachments etc.
Clients should talk to the mail sender through this interface if they need
mail functionality beyond org..
The production implementation is JavaMailSenderImpl; for testing,
mocks can be created based on this interface. Clients will typically receive
the JavaMailSender reference through dependency injection.
The recommended way of using this interface is the MimeMessagePreparator
mechanism, possibly using a MimeMessageHelper for populating the message.
See MimeMessageHelper's javadoc for an example.
The entire JavaMail jakarta. management is abstracted
by the JavaMailSender. Client code should not deal with a Session in any way,
rather leave the entire JavaMail configuration and resource handling to the
JavaMailSender implementation. This also increases testability.
A JavaMailSender client is not as easy to test as a plain
org. client, but still straightforward
compared to traditional JavaMail code: Just let createMimeMessage()
return a plain MimeMessage created with a
Session.getInstance(new Properties()) call, and check the passed-in
messages in your mock implementations of the various send methods.
jakarta.mail.internet.MimeMessage , jakarta.mail.Session , JavaMailSenderImpl, MimeMessagePreparator, MimeMessageHelper
| Modifier and Type | Method and Description |
|---|---|
| public MimeMessage | Returns: the new MimeMessage instanceCreate a new JavaMail MimeMessage for the underlying JavaMail Session of this sender. |
| public MimeMessage | Returns: the new MimeMessage instancethe raw MIME input stream for the message contentStream)Create a new JavaMail MimeMessage for the underlying JavaMail Session of this sender, using the given input stream as the message source. |
| public default void | |
| public void | send(MimeMessage...
messages to send mimeMessages)Send the given array of JavaMail MIME messages in batch. |
| public default void | send(MimeMessagePreparator
the preparator to use mimeMessagePreparator)Send the JavaMail MIME message prepared by the given MimeMessagePreparator. |
| public default void | send(MimeMessagePreparator...
the preparator to use mimeMessagePreparators)Send the JavaMail MIME messages prepared by the given MimeMessagePreparators. |
| createMimeMessage | back to summary |
|---|---|
| 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).
| |
| createMimeMessage | back to summary |
|---|---|
| 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.
| |
| send | back to summary |
|---|---|
| public default void send(MimeMessage mimeMessage) throws MailException Send the given JavaMail MIME message.
The message needs to have been created with
| |
| send | back to summary |
|---|---|
| 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
| |
| send | back to summary |
|---|---|
| public default void send(MimeMessagePreparator mimeMessagePreparator) throws MailException Send the JavaMail MIME message prepared by the given MimeMessagePreparator. Alternative way to prepare MimeMessage instances, instead of
| |
| send | back to summary |
|---|---|
| public default void send(MimeMessagePreparator... mimeMessagePreparators) throws MailException Send the JavaMail MIME messages prepared by the given MimeMessagePreparators. Alternative way to prepare MimeMessage instances, instead of
| |