| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.mail.javamail.JavaMailSenderImpl
public class JavaMailSenderImpl
Production implementation of the JavaMailSender interface,
 supporting both JavaMail MimeMessages and Spring
 SimpleMailMessages. Can also be used as a
 plain MailSender implementation.
 
Allows for defining all settings locally as bean properties.
 Alternatively, a pre-configured JavaMail Session can be
 specified, possibly pulled from an application server's JNDI environment.
 
Non-default properties in this object will always override the settings
 in the JavaMail Session. Note that if overriding all values locally,
 there is no added value in setting a pre-configured Session.
MimeMessage, 
Session, 
setSession(javax.mail.Session), 
setJavaMailProperties(java.util.Properties), 
setHost(java.lang.String), 
setPort(int), 
setUsername(java.lang.String), 
setPassword(java.lang.String)| Field Summary | |
|---|---|
| static int | DEFAULT_PORTThe default port: -1. | 
| static String | DEFAULT_PROTOCOLThe default protocol: 'smtp'. | 
| protected  Log | loggerLogger available to subclasses | 
| Constructor Summary | |
|---|---|
| JavaMailSenderImpl()Create a new instance of the JavaMailSenderImplclass. | |
| Method Summary | |
|---|---|
|  MimeMessage | createMimeMessage()This implementation creates a SmartMimeMessage, holding the specified default encoding and default FileTypeMap. | 
|  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. | 
| protected  void | doSend(MimeMessage[] mimeMessages,
       Object[] originalMessages)Actually send the given array of MimeMessages via JavaMail. | 
|  String | getDefaultEncoding()Return the default encoding for MimeMessages,
 ornullif none. | 
|  FileTypeMap | getDefaultFileTypeMap()Return the default Java Activation FileTypeMapforMimeMessages, ornullif none. | 
|  String | getHost()Return the mail server host. | 
|  String | getPassword()Return the password for the account at the mail host. | 
|  int | getPort()Return the mail server port. | 
|  String | getProtocol()Return the mail protocol. | 
|  Session | getSession()Return the JavaMail Session. | 
| protected  Transport | getTransport(Session session)Obtain a Transport object from the given JavaMail Session, using the configured protocol. | 
|  String | getUsername()Return the username for the account at the mail host. | 
|  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. | 
|  void | send(SimpleMailMessage simpleMessage)Send the given simple mail message. | 
|  void | send(SimpleMailMessage[] simpleMessages)Send the given array of simple mail messages in batch. | 
|  void | setDefaultEncoding(String defaultEncoding)Set the default encoding to use for MimeMessagescreated by this instance. | 
|  void | setDefaultFileTypeMap(FileTypeMap defaultFileTypeMap)Set the default Java Activation FileTypeMapto use forMimeMessagescreated by this instance. | 
|  void | setHost(String host)Set the mail server host, typically an SMTP host. | 
|  void | setJavaMailProperties(Properties javaMailProperties)Set JavaMail properties for the Session. | 
|  void | setPassword(String password)Set the password for the account at the mail host, if any. | 
|  void | setPort(int port)Set the mail server port. | 
|  void | setProtocol(String protocol)Set the mail protocol. | 
|  void | setSession(Session session)Set the JavaMail Session, possibly pulled from JNDI. | 
|  void | setUsername(String username)Set the username for the account at the mail host, if any. | 
| Methods inherited from class java.lang.Object | 
|---|
| clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final String DEFAULT_PROTOCOL
public static final int DEFAULT_PORT
protected final Log logger
| Constructor Detail | 
|---|
public JavaMailSenderImpl()
JavaMailSenderImpl class.
 Initializes the "defaultFileTypeMap"
 property with a default ConfigurableMimeFileTypeMap.
| Method Detail | 
|---|
public void setJavaMailProperties(Properties javaMailProperties)
Session.
 A new Session will be created with those properties.
 Use either this method or setSession(javax.mail.Session), but not both.
 
Non-default properties in this instance will override given JavaMail properties.
public void setSession(Session session)
Session, possibly pulled from JNDI.
 Default is a new Session without defaults, that is
 completely configured via this instance's properties.
 
If using a pre-configured Session, non-default properties
 in this instance will override the settings in the Session.
setJavaMailProperties(java.util.Properties)public Session getSession()
Session.
public void setProtocol(String protocol)
public String getProtocol()
public void setHost(String host)
Default is the default host of the underlying JavaMail Session.
public String getHost()
public void setPort(int port)
Default is DEFAULT_PORT, letting JavaMail use the default
 SMTP port (25).
public int getPort()
public void setUsername(String username)
Note that the underlying JavaMail Session has to be
 configured with the property "mail.smtp.auth" set to
 true, else the specified username will not be sent to the
 mail server by the JavaMail runtime. If you are not explicitly passing
 in a Session to use, simply specify this setting via
 setJavaMailProperties(java.util.Properties).
setSession(javax.mail.Session), 
setPassword(java.lang.String)public String getUsername()
public void setPassword(String password)
Note that the underlying JavaMail Session has to be
 configured with the property "mail.smtp.auth" set to
 true, else the specified password will not be sent to the
 mail server by the JavaMail runtime. If you are not explicitly passing
 in a Session to use, simply specify this setting via
 setJavaMailProperties(java.util.Properties).
setSession(javax.mail.Session), 
setUsername(java.lang.String)public String getPassword()
public void setDefaultEncoding(String defaultEncoding)
MimeMessages
 created by this instance.
 Such an encoding will be auto-detected by MimeMessageHelper.
public String getDefaultEncoding()
MimeMessages,
 or null if none.
public void setDefaultFileTypeMap(FileTypeMap defaultFileTypeMap)
FileTypeMap to use for
 MimeMessages created by this instance.
 A FileTypeMap specified here will be autodetected by
 MimeMessageHelper, avoiding the need to specify the
 FileTypeMap for each MimeMessageHelper instance.
 
For example, you can specify a custom instance of Spring's
 ConfigurableMimeFileTypeMap here. If not explicitly specified,
 a default ConfigurableMimeFileTypeMap will be used, containing
 an extended set of MIME type mappings (as defined by the
 mime.types file contained in the Spring jar).
MimeMessageHelper.setFileTypeMap(javax.activation.FileTypeMap)public FileTypeMap getDefaultFileTypeMap()
FileTypeMap for
 MimeMessages, or null if none.
public void send(SimpleMailMessage simpleMessage)
          throws MailException
MailSender
send in interface MailSendersimpleMessage - the message to send
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
public void send(SimpleMailMessage[] simpleMessages)
          throws MailException
MailSender
send in interface MailSendersimpleMessages - the messages to send
MailParseException - in case of failure when parsing a message
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending a message
MailExceptionpublic MimeMessage createMimeMessage()
MimeMessageHelper, which will use
 the carried encoding and FileTypeMap unless explicitly overridden.
createMimeMessage in interface JavaMailSendersetDefaultEncoding(java.lang.String), 
setDefaultFileTypeMap(javax.activation.FileTypeMap)
public MimeMessage createMimeMessage(InputStream contentStream)
                              throws MailException
JavaMailSender
createMimeMessage in interface JavaMailSendercontentStream - the raw MIME input stream for the message
MailParseException - in case of message creation failure
MailException
public void send(MimeMessage mimeMessage)
          throws MailException
JavaMailSenderJavaMailSender.createMimeMessage().
send in interface JavaMailSendermimeMessage - message to send
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending the message
MailExceptionJavaMailSender.createMimeMessage()
public void send(MimeMessage[] mimeMessages)
          throws MailException
JavaMailSenderJavaMailSender.createMimeMessage().
send in interface JavaMailSendermimeMessages - messages to send
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending a message
MailExceptionJavaMailSender.createMimeMessage()
public void send(MimeMessagePreparator mimeMessagePreparator)
          throws MailException
JavaMailSenderAlternative way to prepare MimeMessage instances, instead of
 JavaMailSender.createMimeMessage() and JavaMailSender.send(MimeMessage) calls.
 Takes care of proper exception conversion.
send in interface JavaMailSendermimeMessagePreparator - the preparator to use
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
public void send(MimeMessagePreparator[] mimeMessagePreparators)
          throws MailException
JavaMailSenderAlternative way to prepare MimeMessage instances, instead of
 JavaMailSender.createMimeMessage() and JavaMailSender.send(MimeMessage[]) calls.
 Takes care of proper exception conversion.
send in interface JavaMailSendermimeMessagePreparators - the preparator to use
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
protected void doSend(MimeMessage[] mimeMessages,
                      Object[] originalMessages)
               throws MailException
mimeMessages - MimeMessage objects to sendoriginalMessages - corresponding original message objects
 that the MimeMessages have been created from (with same array
 length and indices as the "mimeMessages" array), if any
MailAuthenticationException - in case of authentication failure
MailSendException - in case of failure when sending a message
MailException
protected Transport getTransport(Session session)
                          throws NoSuchProviderException
Can be overridden in subclasses, e.g. to return a mock Transport object.
NoSuchProviderExceptionSession.getTransport(String), 
getProtocol()| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||