public class EmailService extends Object
This class has a few factory methods you can use to return message objects or to add messages into a queue to be sent. Using these methods, you can send emails in the following couple of ways:
EmailService.sendMessage( "Joe Bloe", "jbloe@place.org", "Jane Doe", "jane@doe.com", "Hello...", "This is the body of the email...", null );or
Message message = EmailService.createMimeMessage(); // call setters on the message object // . // . // . emailService.sendMessage(message);
This class is configured with a set of Jive properties:
mail.smtp.host
-- the host name of your mail server, i.e.
mail.yourhost.com. The default value is "localhost".
mail.smtp.port
-- an optional property to change the smtp
port used from the default of 25.
mail.smtp.username
-- an optional property to change the
username used to connect to the smtp server. Default is no username.
mail.smtp.password
-- an optional property to change the
password used to connect to the smtp server. Default is no password.
mail.smtp.ssl
-- an optional property to set whether to use
SSL to connect to the smtp server or not. Default is false.
mail.debugEnabled
-- true if debug information should written out.
Default is false.
Modifier and Type | Method and Description |
---|---|
javax.mail.internet.MimeMessage |
createMimeMessage()
Factory method to return a blank JavaMail message.
|
String |
getHost()
Returns the SMTP host (e.g.
|
static EmailService |
getInstance() |
String |
getPassword()
Returns the password used to connect to the SMTP server.
|
int |
getPort()
Returns the port number used when connecting to the SMTP server.
|
String |
getUsername()
Returns the username used to connect to the SMTP server.
|
boolean |
isDebugEnabled()
Returns true if SMTP debugging is enabled.
|
boolean |
isSSLEnabled()
Returns true if SSL is enabled for SMTP connections.
|
void |
sendMessage(javax.mail.internet.MimeMessage message)
Sends a JavaMail message.
|
void |
sendMessage(String toName,
String toEmail,
String fromName,
String fromEmail,
String subject,
String textBody,
String htmlBody)
Sends a message, specifying all of its fields.
|
void |
sendMessages(Collection<javax.mail.internet.MimeMessage> messages)
Send a collection of messages.
|
void |
sendMessagesImmediately(Collection<javax.mail.internet.MimeMessage> messages)
Sends a collection of email messages.
|
void |
setDebugEnabled(boolean debugEnabled)
Enables or disables SMTP transport layer debugging.
|
void |
setHost(String host)
Sets the SMTP host (e.g.
|
void |
setPassword(String password)
Sets the password that will be used when connecting to the SMTP
server.
|
void |
setPort(int port)
Sets the port number that will be used when connecting to the SMTP
server.
|
void |
setSSLEnabled(boolean sslEnabled)
Sets whether the SMTP connection is configured to use SSL or not.
|
void |
setUsername(String username)
Sets the username that will be used when connecting to the SMTP
server.
|
public static EmailService getInstance()
public javax.mail.internet.MimeMessage createMimeMessage()
public void sendMessage(javax.mail.internet.MimeMessage message)
createMimeMessage()
method.message
- the message to send.public void sendMessages(Collection<javax.mail.internet.MimeMessage> messages)
createMimeMessage()
method.messages
- a collection of the messages to send.public void sendMessage(String toName, String toEmail, String fromName, String fromEmail, String subject, String textBody, String htmlBody)
To have more advanced control over the message sent, use the
sendMessage(MimeMessage)
method.
Both a plain text and html body can be specified. If one of the values is null, only the other body type is sent. If both body values are set, a multi-part message will be sent. If parts of the message are invalid (ie, the toEmail is null) the message won't be sent.
toName
- the name of the recipient of this email.toEmail
- the email address of the recipient of this email.fromName
- the name of the sender of this email.fromEmail
- the email address of the sender of this email.subject
- the subject of the email.textBody
- plain text body of the email, which can be null
if the
html body is not null.htmlBody
- html body of the email, which can be null
if the text body
is not null.public void sendMessagesImmediately(Collection<javax.mail.internet.MimeMessage> messages) throws javax.mail.MessagingException
sendMessages(Collection)
in that messages are sent
before this method returns rather than queueing the messages to be sent later.messages
- the messages to send.javax.mail.MessagingException
- if an error occurs.public String getHost()
public void setHost(String host)
host
- the SMTP host.public int getPort()
public void setPort(int port)
port
- the SMTP port number.public String getUsername()
null
, no username will be used when connecting to the server.null
if
there is no username.public void setUsername(String username)
null
, or no username.username
- the SMTP username.public String getPassword()
null
, no password will be used when connecting to the server.null
if
there is no password.public void setPassword(String password)
null
, or no password.password
- the SMTP password.public boolean isDebugEnabled()
System.out
by the underlying JavaMail provider.public void setDebugEnabled(boolean debugEnabled)
System.out
by the underlying JavaMail provider.debugEnabled
- true if SMTP debugging should be enabled.public boolean isSSLEnabled()
public void setSSLEnabled(boolean sslEnabled)
sslEnabled
- true if ssl should be enabled, false otherwise.Copyright © 2003–2019 Ignite Realtime. All rights reserved.