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