Class MailMessageSender
- All Implemented Interfaces:
org.springframework.beans.factory.InitializingBean,WebServiceMessageSender
WebServiceMessageSender implementation that uses Mail MimeMessages.
Requires a transport and store URI to be set.
Calling WebServiceConnection.receive(WebServiceMessageFactory) on connections
created by this message sender will result in a blocking call, for the amount of
milliseconds specified by the receiveSleepTime
property. This will give the server time to formulate a response message. By default,
this property is set to 1 minute. For a proper request-response conversation to work,
this property value must not be smaller the
pollingInterval property of
the server-side message receiver polling strategy.
This message sender supports URI's of the following format:
mailto:<to>[?param-name=param-value][¶m-name=param-value]*
where the characters :, ?, and & stand for themselves. The
to represents an RFC 822 mailbox. Valid param-name include:
| param-name | Description |
|---|---|
subject |
The subject of the request message. |
Some examples of email URIs are: mailto:[email protected]
mailto:[email protected]@?subject=SOAP%20Test
- Since:
- 1.5.0
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final longDefault timeout for receive operations. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcreateConnection(URI uri) Create a newWebServiceConnectionto the specified URI.voidSets the from address to use when sending request messages.voidsetJavaMailProperties(Properties javaMailProperties) Set JavaMail properties for theSession.voidsetReceiveSleepTime(long receiveSleepTime) Set the sleep time to use for receive calls, in milliseconds.voidsetSession(jakarta.mail.Session session) Set the JavaMailSession, possibly pulled from JNDI.voidsetStoreUri(String storeUri) Sets the JavaMail Store URI to be used for retrieving response messages.voidsetTransportUri(String transportUri) Sets the JavaMail Transport URI to be used for sending response messages.booleanDoes thisWebServiceMessageSendersupport the supplied URI?
-
Field Details
-
DEFAULT_RECEIVE_TIMEOUT
public static final long DEFAULT_RECEIVE_TIMEOUTDefault timeout for receive operations. Set to 1000 * 60 milliseconds (i.e. 1 minute).- See Also:
-
-
Constructor Details
-
MailMessageSender
public MailMessageSender()
-
-
Method Details
-
setFrom
Sets the from address to use when sending request messages.- Throws:
jakarta.mail.internet.AddressException
-
setJavaMailProperties
Set JavaMail properties for theSession.A new
Sessionwill be created with those properties. Use either this method orsetSession(jakarta.mail.Session), but not both.Non-default properties in this instance will override given JavaMail properties.
-
setReceiveSleepTime
public void setReceiveSleepTime(long receiveSleepTime) Set the sleep time to use for receive calls, in milliseconds. The default is 1000 * 60 ms, that is 1 minute. -
setSession
public void setSession(jakarta.mail.Session session) Set the JavaMailSession, possibly pulled from JNDI.Default is a new
Sessionwithout 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 theSession. -
setStoreUri
Sets the JavaMail Store URI to be used for retrieving response messages. Typically, takes the form of[imap|pop3]://user:password@host:port/INBOX. Setting this property is required.For example,
imap://john:[email protected]/INBOX- See Also:
-
Session.getStore(URLName)
-
setTransportUri
Sets the JavaMail Transport URI to be used for sending response messages. Typically, takes the form ofsmtp://user:password@host:port. Setting this property is required.For example,
smtp://john:[email protected]- See Also:
-
Session.getTransport(URLName)
-
afterPropertiesSet
- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean- Throws:
Exception
-
createConnection
Description copied from interface:WebServiceMessageSenderCreate a newWebServiceConnectionto the specified URI.- Specified by:
createConnectionin interfaceWebServiceMessageSender- Parameters:
uri- the URI to open a connection to- Returns:
- the new connection
- Throws:
IOException- in case of I/O errors
-
supports
Description copied from interface:WebServiceMessageSenderDoes thisWebServiceMessageSendersupport the supplied URI?- Specified by:
supportsin interfaceWebServiceMessageSender- Parameters:
uri- the URI to be checked- Returns:
trueif thisWebServiceMessageSendersupports the supplied URI
-