public class MailMessage
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)
sender - the "reply to" addresspublic void setReplyTo(java.lang.String replyTo)
sender - the "reply to" addresspublic void setReplyTo(java.util.List replyTo)
sender - 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