The Mail service provides an interface for the creation and
sending of mail. Mail server settings and externalized to
a configuration file. The default implementation is
single-threaded and uses the JavaMail APIs for its implementation.
An enhanced implementation could delegate message sending to
a background service allowing the main application thread
to continue running without the overhead of waiting for
the mail server to confirm sending of the message.
This background thread would include retries and some
error handling.
Other enhancements may include the rendering of the
message bodies through JSP processing or XSLTs.