public class MailMessage extends Base
There are two general approaches to doing this. Here is the first one:
MailMessage message = new MailMessage();
message.setFrom("me@my.address");
message.addRecipients("friend1@his.address, friend2@her.address");
message.setSubject("Greetings");
message.setBody("Hello everyone!");
message.send();
Here is the second approach:
MailMessage message = new MailMessage();
message.parse("From: me@my.address\n"
+ "To: friend1@his.address, friend2@her.address\n"
+ "Subject: Greetings\n"
+ "Hello everyone!\n");
message.send();
You may mix and match the two approaches as desired. For example, you could use the parse
method, then the addRecipient
method.
Note: You must add your mail subsystem information to your server.properties
file. An example follows:
#=======================================================
# Mail subsystem
#=======================================================
# Comma-delimited list of all smtp servers capable of
# relaying mail to the internet
mail.system.mail.smtp.host: mail
# What port is the MTA listening on
mail.system.mail.smtp.port: 25
# Number of milliseconds to socket connet timeout. When
# this limit is reached, we try the next mail server.
mail.system.mail.smtp.connectiontimeout: 2000
# Base mail template directory
mail.templateRoot: $webRoot/config/mailTemplates
# What email account to use when the system sends out
# mails
mail.systemFromAddress: website@companyName.com
mail.helpdeskAddress: support@companyName.com
mail.URLPrefix: http://www.companyName.com
Modifier and Type | Method and Description |
---|---|
void | addHeader(java.lang.String field, java.lang.String value) Adds a header to the email. |
void | addHeaders(java.util.Map headers) Adds a set of headers to the email. |
void | addRecipient(java.lang.String recipient) Adds a recipient to the email. |
void | addRecipient(java.lang.String recipient, javax.mail.Message.RecipientType type) Adds a recipient of the specified type to the email. |
void | addRecipients(java.util.List recipients) Adds a list of recipients to the email. |
void | addRecipients(java.util.List recipients, javax.mail.Message.RecipientType type) Adds a list of recipients of the specified type to the email. |
void | addRecipients(java.lang.String recipients) Adds a comma-delimited list of recipients to the email. |
void | addRecipients(java.lang.String recipients, javax.mail.Message.RecipientType type) Adds a comma-delimited list of recipients of the specified type to the email. |
void | addReplyTo(java.lang.String replyTo) Adds a "reply to" address to the email. |
java.io.Writer | getBodyWriter() Gets the Writer stream for the message body. |
void | parse(java.lang.String message) Parses the messages headers and prepares for send. |
void | reset() Resets MailMessage state. |
void | send() Sends the email message. |
void | setBody(java.lang.String newBody) Adds the message body to the email. |
void | setFrom(java.lang.String sender) Sets the "from" address of the email. |
void | setRecipient(java.lang.String recipient) Adds a recipient to the email. |
void | setReplyTo(java.util.List replyTo) Sets the parameter list of addresses passed in as the "reply to" addresses for the email. |
void | setReplyTo(java.lang.String replyTo) Sets the "reply to" address for the email. |
void | setSubject(java.lang.String subject) Sets the subject of the email. |
public void setFrom(java.lang.String sender)
sender
- the "from" addresspublic void addReplyTo(java.lang.String replyTo)
replyTo
- the "reply to" addresspublic void setReplyTo(java.lang.String replyTo)
replyTo
- the "reply to" addresspublic void setReplyTo(java.util.List replyTo)
replyTo
- the "reply to" addresspublic void setSubject(java.lang.String subject)
subject
- the subjectpublic void addHeader(java.lang.String field, java.lang.String value)
field
- the name of the headervalue
- the header valuepublic void addHeaders(java.util.Map headers)
headers
- the set of headers to be addedpublic void addRecipient(java.lang.String recipient)
recipient
- the email address of the recipientpublic void setRecipient(java.lang.String recipient)
recipient
- the email address of the recipientpublic void addRecipients(java.util.List recipients)
recipients
- the list of email addresses of the recipientspublic void addRecipients(java.lang.String recipients)
recipients
- the comma-delimited list of email addresses of the recipientspublic void addRecipient(java.lang.String recipient, javax.mail.Message.RecipientType type)
recipient
- the email address of the recipienttype
- the type of recipient, for example, Message.RecipientType.TO
public void addRecipients(java.util.List recipients, javax.mail.Message.RecipientType type)
recipients
- the list of email addresses of the recipientstype
- the type of the recipientsfor example, Message.RecipientType.TO
public void addRecipients(java.lang.String recipients, javax.mail.Message.RecipientType type)
recipients
- the comma-delimited list of email addresses of the recipientstype
- the types of the recipients for example, Message.RecipientType.TO
public void setBody(java.lang.String newBody)
newBody
- the message bodypublic java.io.Writer getBodyWriter()
Writer
stream for the message body.Writer
stream for the message bodypublic void send() throws java.lang.Exception
java.io.IOException
- if an I/O error occurs while trying to send the emailjava.lang.Exception
public void reset()
public void parse(java.lang.String message) throws java.io.IOException
message
- the full message, including "from", "to" and "subject" headersjava.io.IOException
- if an I/O error occurs while parsing the message