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.TOpublic 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.TOpublic 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.TOpublic 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.Exceptionpublic 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