public abstract class Email extends Object
Subclasses are responsible for setting the message body.
Modifier and Type | Field and Description |
---|---|
static String |
ATTACHMENTS
Deprecated.
since 1.3, use
EmailConstants.ATTACHMENTS instead |
protected Authenticator |
authenticator
Instance of an
Authenticator object that will be used
when authentication is requested from the mail server. |
protected List<InternetAddress> |
bccList
List of "bcc" email addresses.
|
protected String |
bounceAddress
Address to which undeliverable mail should be sent.
|
protected List<InternetAddress> |
ccList
List of "cc" email addresses.
|
protected String |
charset
The charset to use for this message.
|
protected Object |
content
The content.
|
static String |
CONTENT_TYPE
Deprecated.
since 1.3, use
EmailConstants.CONTENT_TYPE instead |
protected String |
contentType
The content type.
|
protected boolean |
debug
Set session debugging on or off.
|
static String |
EMAIL_BODY
Deprecated.
since 1.3, use
EmailConstants.EMAIL_BODY instead |
static String |
EMAIL_SUBJECT
Deprecated.
since 1.3, use
EmailConstants.EMAIL_SUBJECT instead |
protected MimeMultipart |
emailBody
An attachment.
|
static String |
FILE_SERVER
Deprecated.
since 1.3, use
EmailConstants.FILE_SERVER instead |
protected InternetAddress |
fromAddress
The Address of the sending party, mandatory.
|
protected Map<String,String> |
headers
Used to specify the mail headers.
|
protected String |
hostName
The hostname of the mail server with which to connect.
|
static String |
ISO_8859_1
Deprecated.
since 1.3, use
EmailConstants.ISO_8859_1 instead |
static String |
KOI8_R
Deprecated.
since 1.3, use
EmailConstants.KOI8_R instead |
static String |
MAIL_DEBUG
Deprecated.
since 1.3, use
EmailConstants.MAIL_DEBUG instead |
static String |
MAIL_HOST
Deprecated.
since 1.3, use
EmailConstants.MAIL_HOST instead |
static String |
MAIL_PORT
Deprecated.
since 1.3, use
EmailConstants.MAIL_PORT instead |
static String |
MAIL_SMTP_AUTH
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_AUTH instead |
static String |
MAIL_SMTP_CONNECTIONTIMEOUT
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_CONNECTIONTIMEOUT instead |
static String |
MAIL_SMTP_FROM
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_FROM instead |
static String |
MAIL_SMTP_PASSWORD
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_PASSWORD instead |
static String |
MAIL_SMTP_SOCKET_FACTORY_CLASS
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_CLASS instead |
static String |
MAIL_SMTP_SOCKET_FACTORY_FALLBACK
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_FALLBACK instead |
static String |
MAIL_SMTP_SOCKET_FACTORY_PORT
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_PORT instead |
static String |
MAIL_SMTP_TIMEOUT
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_TIMEOUT instead |
static String |
MAIL_SMTP_USER
Deprecated.
since 1.3, use
EmailConstants.MAIL_SMTP_USER instead |
static String |
MAIL_TRANSPORT_PROTOCOL
Deprecated.
since 1.3, use
EmailConstants.MAIL_TRANSPORT_PROTOCOL instead |
static String |
MAIL_TRANSPORT_TLS
Deprecated.
since 1.3, use
EmailConstants.MAIL_TRANSPORT_TLS instead |
protected MimeMessage |
message
The email message to send.
|
protected boolean |
popBeforeSmtp
Used to determine whether to use pop3 before smtp, and if so the settings.
|
protected String |
popHost
the host name of the pop3 server.
|
protected String |
popPassword
the password to log into the pop3 server.
|
protected String |
popUsername
the user name to log into the pop3 server.
|
static String |
RECEIVER_EMAIL
Deprecated.
since 1.3, use
EmailConstants.RECEIVER_EMAIL instead |
static String |
RECEIVER_NAME
Deprecated.
since 1.3, use
EmailConstants.RECEIVER_NAME instead |
protected List<InternetAddress> |
replyList
List of "replyTo" email addresses.
|
static String |
SENDER_EMAIL
Deprecated.
since 1.3, use
EmailConstants.SENDER_EMAIL instead |
static String |
SENDER_NAME
Deprecated.
since 1.3, use
EmailConstants.SENDER_NAME instead |
protected Date |
sentDate
Sent date.
|
static String |
SMTP
Deprecated.
since 1.3, use
EmailConstants.SMTP instead |
protected String |
smtpPort
The port number of the mail server to connect to.
|
protected int |
socketConnectionTimeout
socket connection timeout value in milliseconds.
|
protected int |
socketTimeout
socket I/O timeout value in milliseconds.
|
protected boolean |
ssl
Deprecated.
since 1.3, use setSSLOnConnect() instead
|
protected String |
sslSmtpPort
The port number of the SSL enabled SMTP server;
defaults to the standard port, 465.
|
protected String |
subject
The Subject.
|
static String |
TEXT_HTML
Deprecated.
since 1.3, use
EmailConstants.TEXT_HTML instead |
static String |
TEXT_PLAIN
Deprecated.
since 1.3, use
EmailConstants.TEXT_PLAIN instead |
protected boolean |
tls
Deprecated.
since 1.3, use setStartTLSEnabled() instead
|
protected List<InternetAddress> |
toList
List of "to" email addresses.
|
static String |
US_ASCII
Deprecated.
since 1.3, use
EmailConstants.US_ASCII instead |
Constructor and Description |
---|
Email() |
Modifier and Type | Method and Description |
---|---|
Email |
addBcc(String... emails)
Add an array of blind BCC recipients to the email.
|
Email |
addBcc(String email)
Add a blind BCC recipient to the email.
|
Email |
addBcc(String email,
String name)
Add a blind BCC recipient to the email using the specified address and
the specified personal name.
|
Email |
addBcc(String email,
String name,
String charset)
Add a blind BCC recipient to the email using the specified address,
personal name, and charset encoding for the name.
|
Email |
addCc(String... emails)
Add an array of CC recipients to the email.
|
Email |
addCc(String email)
Add a recipient CC to the email.
|
Email |
addCc(String email,
String name)
Add a recipient CC to the email using the specified address and the
specified personal name.
|
Email |
addCc(String email,
String name,
String charset)
Add a recipient CC to the email using the specified address, personal
name, and charset encoding for the name.
|
void |
addHeader(String name,
String value)
Adds a header ( name, value ) to the headers Map.
|
Email |
addReplyTo(String email)
Add a reply to address to the email.
|
Email |
addReplyTo(String email,
String name)
Add a reply to address to the email using the specified address and
the specified personal name.
|
Email |
addReplyTo(String email,
String name,
String charset)
Add a reply to address to the email using the specified address,
personal name, and charset encoding for the name.
|
Email |
addTo(String... emails)
Add a list of TO recipients to the email.
|
Email |
addTo(String email)
Add a recipient TO to the email.
|
Email |
addTo(String email,
String name)
Add a recipient TO to the email using the specified address and the
specified personal name.
|
Email |
addTo(String email,
String name,
String charset)
Add a recipient TO to the email using the specified address, personal
name, and charset encoding for the name.
|
void |
buildMimeMessage()
Does the work of actually building the MimeMessage.
|
protected MimeMessage |
createMimeMessage(Session aSession)
Factory method to create a customized MimeMessage which can be
implemented by a derived class, e.g. to set the message id.
|
List<InternetAddress> |
getBccAddresses()
Get the list of "Bcc" addresses.
|
String |
getBounceAddress()
Gets the "bounce address" of this email.
|
List<InternetAddress> |
getCcAddresses()
Get the list of "CC" addresses.
|
InternetAddress |
getFromAddress()
Gets the sender of the email.
|
String |
getHeader(String header)
Gets the specified header.
|
Map<String,String> |
getHeaders()
Gets all headers on an Email.
|
String |
getHostName()
Gets the host name of the SMTP server,
|
Session |
getMailSession()
Determines the mail session used when sending this Email, creating
the Session if necessary.
|
MimeMessage |
getMimeMessage()
Returns the internal MimeMessage.
|
List<InternetAddress> |
getReplyToAddresses()
Get the list of "Reply-To" addresses.
|
Date |
getSentDate()
Gets the sent date for the email.
|
String |
getSmtpPort()
Gets the listening port of the SMTP server.
|
int |
getSocketConnectionTimeout()
Get the socket connection timeout value in milliseconds.
|
int |
getSocketTimeout()
Get the socket I/O timeout value in milliseconds.
|
String |
getSslSmtpPort()
Returns the current SSL port used by the SMTP transport.
|
String |
getSubject()
Gets the subject of the email.
|
List<InternetAddress> |
getToAddresses()
Get the list of "To" addresses.
|
boolean |
isSendPartial()
If partial sending of email enabled.
|
boolean |
isSSL()
Deprecated.
since 1.3, use isSSLOnConnect() instead
|
boolean |
isSSLCheckServerIdentity()
Is the server identity checked as specified by RFC 2595
|
boolean |
isSSLOnConnect()
Returns whether SSL/TLS encryption for the transport is currently enabled (SMTPS/POPS).
|
boolean |
isStartTLSEnabled()
Gets whether the client is configured to try to enable STARTTLS.
|
boolean |
isStartTLSRequired()
Gets whether the client is configured to require STARTTLS.
|
boolean |
isTLS()
Deprecated.
since 1.3, use isStartTLSEnabled() instead
|
String |
send()
Sends the email.
|
String |
sendMimeMessage()
Sends the previously created MimeMessage to the SMTP server.
|
void |
setAuthentication(String userName,
String password)
Sets the userName and password if authentication is needed.
|
void |
setAuthenticator(Authenticator newAuthenticator)
Sets the
Authenticator to be used when authentication
is requested from the mail server. |
Email |
setBcc(Collection<InternetAddress> aCollection)
Set a list of "BCC" addresses.
|
Email |
setBounceAddress(String email)
Set the "bounce address" - the address to which undeliverable messages
will be returned.
|
Email |
setCc(Collection<InternetAddress> aCollection)
Set a list of "CC" addresses.
|
void |
setCharset(String newCharset)
Set the charset of the message.
|
void |
setContent(MimeMultipart aMimeMultipart)
Set the emailBody to a MimeMultiPart
|
void |
setContent(Object aObject,
String aContentType)
Set the content and contentType.
|
void |
setDebug(boolean d)
Setting to true will enable the display of debug information.
|
Email |
setFrom(String email)
Set the FROM field of the email to use the specified address.
|
Email |
setFrom(String email,
String name)
Set the FROM field of the email to use the specified address and the
specified personal name.
|
Email |
setFrom(String email,
String name,
String charset)
Set the FROM field of the email to use the specified address, personal
name, and charset encoding for the name.
|
void |
setHeaders(Map<String,String> map)
Used to specify the mail headers.
|
void |
setHostName(String aHostName)
Set the hostname of the outgoing mail server.
|
void |
setMailSession(Session aSession)
Supply a mail Session object to use.
|
void |
setMailSessionFromJNDI(String jndiName)
Supply a mail Session object from a JNDI directory.
|
abstract Email |
setMsg(String msg)
Define the content of the mail.
|
void |
setPopBeforeSmtp(boolean newPopBeforeSmtp,
String newPopHost,
String newPopUsername,
String newPopPassword)
Set details regarding "pop3 before smtp" authentication.
|
Email |
setReplyTo(Collection<InternetAddress> aCollection)
Set a list of reply to addresses.
|
Email |
setSendPartial(boolean sendPartial)
Sets whether the email is partially send in case of invalid addresses.
|
void |
setSentDate(Date date)
Sets the sent date for the email.
|
void |
setSmtpPort(int aPortNumber)
Set the non-SSL port number of the outgoing mail server.
|
void |
setSocketConnectionTimeout(int socketConnectionTimeout)
Set the socket connection timeout value in milliseconds.
|
void |
setSocketTimeout(int socketTimeout)
Set the socket I/O timeout value in milliseconds.
|
void |
setSSL(boolean ssl)
Deprecated.
since 1.3, use setSSLOnConnect() instead
|
Email |
setSSLCheckServerIdentity(boolean sslCheckServerIdentity)
Sets whether the server identity is checked as specified by RFC 2595
|
Email |
setSSLOnConnect(boolean ssl)
Sets whether SSL/TLS encryption should be enabled for the SMTP transport upon connection (SMTPS/POPS).
|
void |
setSslSmtpPort(String sslSmtpPort)
Sets the SSL port to use for the SMTP transport.
|
Email |
setStartTLSEnabled(boolean startTlsEnabled)
Set or disable the STARTTLS encryption.
|
Email |
setStartTLSRequired(boolean startTlsRequired)
Set or disable the required STARTTLS encryption.
|
Email |
setSubject(String aSubject)
Sets the email subject.
|
void |
setTLS(boolean withTLS)
Deprecated.
since 1.3, use setStartTLSEnabled() instead
|
Email |
setTo(Collection<InternetAddress> aCollection)
Set a list of "TO" addresses.
|
protected InternetAddress[] |
toInternetAddressArray(List<InternetAddress> list)
Utility to copy List of known InternetAddress objects into an
array.
|
void |
updateContentType(String aContentType)
Update the contentType.
|
@Deprecated public static final String SENDER_EMAIL
EmailConstants.SENDER_EMAIL
instead@Deprecated public static final String SENDER_NAME
EmailConstants.SENDER_NAME
instead@Deprecated public static final String RECEIVER_EMAIL
EmailConstants.RECEIVER_EMAIL
instead@Deprecated public static final String RECEIVER_NAME
EmailConstants.RECEIVER_NAME
instead@Deprecated public static final String EMAIL_SUBJECT
EmailConstants.EMAIL_SUBJECT
instead@Deprecated public static final String EMAIL_BODY
EmailConstants.EMAIL_BODY
instead@Deprecated public static final String CONTENT_TYPE
EmailConstants.CONTENT_TYPE
instead@Deprecated public static final String ATTACHMENTS
EmailConstants.ATTACHMENTS
instead@Deprecated public static final String FILE_SERVER
EmailConstants.FILE_SERVER
instead@Deprecated public static final String KOI8_R
EmailConstants.KOI8_R
instead@Deprecated public static final String ISO_8859_1
EmailConstants.ISO_8859_1
instead@Deprecated public static final String US_ASCII
EmailConstants.US_ASCII
instead@Deprecated public static final String MAIL_DEBUG
EmailConstants.MAIL_DEBUG
instead@Deprecated public static final String MAIL_HOST
EmailConstants.MAIL_HOST
instead@Deprecated public static final String MAIL_PORT
EmailConstants.MAIL_PORT
instead@Deprecated public static final String MAIL_SMTP_FROM
EmailConstants.MAIL_SMTP_FROM
instead@Deprecated public static final String MAIL_SMTP_AUTH
EmailConstants.MAIL_SMTP_AUTH
instead@Deprecated public static final String MAIL_SMTP_USER
EmailConstants.MAIL_SMTP_USER
instead@Deprecated public static final String MAIL_SMTP_PASSWORD
EmailConstants.MAIL_SMTP_PASSWORD
instead@Deprecated public static final String MAIL_TRANSPORT_PROTOCOL
EmailConstants.MAIL_TRANSPORT_PROTOCOL
instead@Deprecated public static final String SMTP
EmailConstants.SMTP
instead@Deprecated public static final String TEXT_HTML
EmailConstants.TEXT_HTML
instead@Deprecated public static final String TEXT_PLAIN
EmailConstants.TEXT_PLAIN
instead@Deprecated public static final String MAIL_TRANSPORT_TLS
EmailConstants.MAIL_TRANSPORT_TLS
instead@Deprecated public static final String MAIL_SMTP_SOCKET_FACTORY_FALLBACK
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_FALLBACK
instead@Deprecated public static final String MAIL_SMTP_SOCKET_FACTORY_CLASS
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_CLASS
instead@Deprecated public static final String MAIL_SMTP_SOCKET_FACTORY_PORT
EmailConstants.MAIL_SMTP_SOCKET_FACTORY_PORT
instead@Deprecated public static final String MAIL_SMTP_CONNECTIONTIMEOUT
EmailConstants.MAIL_SMTP_CONNECTIONTIMEOUT
instead@Deprecated public static final String MAIL_SMTP_TIMEOUT
EmailConstants.MAIL_SMTP_TIMEOUT
insteadprotected MimeMessage message
protected String charset
protected InternetAddress fromAddress
protected String subject
protected MimeMultipart emailBody
protected Object content
protected String contentType
protected boolean debug
protected Date sentDate
protected Authenticator authenticator
Authenticator
object that will be used
when authentication is requested from the mail server.protected String hostName
protected String smtpPort
protected String sslSmtpPort
protected List<InternetAddress> toList
protected List<InternetAddress> ccList
protected List<InternetAddress> bccList
protected List<InternetAddress> replyList
protected String bounceAddress
String
rather than InternetAddress
.protected Map<String,String> headers
protected boolean popBeforeSmtp
protected String popHost
protected String popUsername
protected String popPassword
@Deprecated protected boolean tls
@Deprecated protected boolean ssl
protected int socketTimeout
protected int socketConnectionTimeout
public void setDebug(boolean d)
d
- A boolean.public void setAuthentication(String userName, String password)
This method will create a new instance of
DefaultAuthenticator
using the supplied parameters.
userName
- User name for the SMTP serverpassword
- password for the SMTP serverDefaultAuthenticator
,
setAuthenticator(javax.mail.Authenticator)
public void setAuthenticator(Authenticator newAuthenticator)
Authenticator
to be used when authentication
is requested from the mail server.
This method should be used when your outgoing mail server requires authentication. Your mail server must also support RFC2554.
newAuthenticator
- the Authenticator
object.Authenticator
public void setCharset(String newCharset)
newCharset
- A String.IllegalCharsetNameException
- if the charset name is invalidUnsupportedCharsetException
- if no support for the named charset
exists in the current JVMpublic void setContent(MimeMultipart aMimeMultipart)
aMimeMultipart
- aMimeMultipartpublic void setContent(Object aObject, String aContentType)
aObject
- aObjectaContentType
- aContentTypepublic void updateContentType(String aContentType)
aContentType
- aContentTypepublic void setHostName(String aHostName)
aHostName
- aHostNameIllegalStateException
- if the mail session is already initialized@Deprecated public void setTLS(boolean withTLS)
withTLS
- true if STARTTLS requested, false otherwisepublic Email setStartTLSEnabled(boolean startTlsEnabled)
startTlsEnabled
- true if STARTTLS requested, false otherwiseIllegalStateException
- if the mail session is already initializedpublic Email setStartTLSRequired(boolean startTlsRequired)
Defaults to smtpPort
; can be overridden by using setSmtpPort(int)
startTlsRequired
- true if STARTTLS requested, false otherwiseIllegalStateException
- if the mail session is already initializedpublic void setSmtpPort(int aPortNumber)
aPortNumber
- aPortNumberIllegalArgumentException
- if the port number is < 1IllegalStateException
- if the mail session is already initializedsetSslSmtpPort(String)
public void setMailSession(Session aSession)
aSession
- mail session to be usedIllegalArgumentException
- if the session is null
public void setMailSessionFromJNDI(String jndiName) throws NamingException
jndiName
- name of JNDI resource (javax.mail.Session type), resource
if searched in java:comp/env if name does not start with "java:"IllegalArgumentException
- if the JNDI name is null or emptyNamingException
- if the resource cannot be retrieved from JNDI directorypublic Session getMailSession() throws EmailException
EmailException
- if the host name was not setpublic Email setFrom(String email) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.EmailException
- Indicates an invalid email address.public Email setFrom(String email, String name) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.name
- A String.EmailException
- Indicates an invalid email address.public Email setFrom(String email, String name, String charset) throws EmailException
email
- A String.name
- A String.charset
- The charset to encode the name with.EmailException
- Indicates an invalid email address or charset.public Email addTo(String email) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.EmailException
- Indicates an invalid email address.public Email addTo(String... emails) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.emails
- A String array.EmailException
- Indicates an invalid email address.public Email addTo(String email, String name) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.name
- A String.EmailException
- Indicates an invalid email address.public Email addTo(String email, String name, String charset) throws EmailException
email
- A String.name
- A String.charset
- The charset to encode the name with.EmailException
- Indicates an invalid email address or charset.public Email setTo(Collection<InternetAddress> aCollection) throws EmailException
Collection
are expected to be of type
java.mail.internet.InternetAddress
.aCollection
- collection of InternetAddress
objects.EmailException
- Indicates an invalid email address.InternetAddress
public Email addCc(String email) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.EmailException
- Indicates an invalid email address.public Email addCc(String... emails) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.emails
- A String array.EmailException
- Indicates an invalid email address.public Email addCc(String email, String name) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.name
- A String.EmailException
- Indicates an invalid email address.public Email addCc(String email, String name, String charset) throws EmailException
email
- A String.name
- A String.charset
- The charset to encode the name with.EmailException
- Indicates an invalid email address or charset.public Email setCc(Collection<InternetAddress> aCollection) throws EmailException
Collection
are expected to be of type
java.mail.internet.InternetAddress
.aCollection
- collection of InternetAddress
objects.EmailException
- Indicates an invalid email address.InternetAddress
public Email addBcc(String email) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.EmailException
- Indicates an invalid email addresspublic Email addBcc(String... emails) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.emails
- A String array.EmailException
- Indicates an invalid email addresspublic Email addBcc(String email, String name) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.name
- A String.EmailException
- Indicates an invalid email addresspublic Email addBcc(String email, String name, String charset) throws EmailException
email
- A String.name
- A String.charset
- The charset to encode the name with.EmailException
- Indicates an invalid email addresspublic Email setBcc(Collection<InternetAddress> aCollection) throws EmailException
Collection
are expected to be of type
java.mail.internet.InternetAddress
.aCollection
- collection of InternetAddress
objectsEmailException
- Indicates an invalid email addressInternetAddress
public Email addReplyTo(String email) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.EmailException
- Indicates an invalid email addresspublic Email addReplyTo(String email, String name) throws EmailException
setCharset()
.
If it is not set, it will be encoded using
the Java platform's default charset (UTF-16) if it contains
non-ASCII characters; otherwise, it is used as is.email
- A String.name
- A String.EmailException
- Indicates an invalid email addresspublic Email addReplyTo(String email, String name, String charset) throws EmailException
email
- A String.name
- A String.charset
- The charset to encode the name with.EmailException
- Indicates an invalid email address or charset.public Email setReplyTo(Collection<InternetAddress> aCollection) throws EmailException
Collection
are expected to be of type
java.mail.internet.InternetAddress
.aCollection
- collection of InternetAddress
objectsEmailException
- Indicates an invalid email addressInternetAddress
public void setHeaders(Map<String,String> map)
map
- A Map.IllegalArgumentException
- if either of the provided header / value is null or emptypublic void addHeader(String name, String value)
name
- A String with the name.value
- A String with the value.IllegalArgumentException
- if either name
or value
is null or emptypublic String getHeader(String header)
header
- A string with the header.public Map<String,String> getHeaders()
public Email setSubject(String aSubject)
aSubject
- A String.public String getBounceAddress()
public Email setBounceAddress(String email)
email
- A String.IllegalStateException
- if the mail session is already initializedpublic abstract Email setMsg(String msg) throws EmailException
msg
- A String.EmailException
- generic exception.public void buildMimeMessage() throws EmailException
IllegalStateException
- if the MimeMessage was already builtEmailException
- if there was an error.public String sendMimeMessage() throws EmailException
IllegalArgumentException
- if the MimeMessage has not been createdEmailException
- the sending failedpublic MimeMessage getMimeMessage()
public String send() throws EmailException
IllegalStateException
- if the MimeMessage was already built, ie buildMimeMessage()
was already calledEmailException
- the sending failedpublic void setSentDate(Date date)
date
- Date to use as the sent date on the emailpublic Date getSentDate()
public String getSubject()
public InternetAddress getFromAddress()
public String getHostName()
public String getSmtpPort()
public boolean isStartTLSRequired()
public boolean isStartTLSEnabled()
@Deprecated public boolean isTLS()
protected InternetAddress[] toInternetAddressArray(List<InternetAddress> list)
list
- A List.public void setPopBeforeSmtp(boolean newPopBeforeSmtp, String newPopHost, String newPopUsername, String newPopPassword)
newPopBeforeSmtp
- Whether or not to log into pop3 server before sending mail.newPopHost
- The pop3 host to use.newPopUsername
- The pop3 username.newPopPassword
- The pop3 password.@Deprecated public boolean isSSL()
public boolean isSSLOnConnect()
@Deprecated public void setSSL(boolean ssl)
ssl
- whether to enable the SSL transportpublic Email setSSLOnConnect(boolean ssl)
setStartTLSRequired(boolean)
Defaults to sslSmtpPort
; can be overridden by using setSslSmtpPort(String)
ssl
- whether to enable the SSL transportIllegalStateException
- if the mail session is already initializedpublic boolean isSSLCheckServerIdentity()
public Email setSSLCheckServerIdentity(boolean sslCheckServerIdentity)
sslCheckServerIdentity
- whether to enable server identity checkIllegalStateException
- if the mail session is already initializedpublic String getSslSmtpPort()
public void setSslSmtpPort(String sslSmtpPort)
sslSmtpPort
- the SSL port to use for the SMTP transportIllegalStateException
- if the mail session is already initializedsetSmtpPort(int)
public boolean isSendPartial()
public Email setSendPartial(boolean sendPartial)
In case the mail server rejects an address as invalid, the call to send()
may throw a SendFailedException
, even if partial send mode is enabled (emails
to valid addresses will be transmitted). In case the email server does not reject
invalid addresses immediately, but return a bounce message, no exception will be thrown
by the send()
method.
sendPartial
- whether to enable partial send modeIllegalStateException
- if the mail session is already initializedpublic List<InternetAddress> getToAddresses()
public List<InternetAddress> getCcAddresses()
public List<InternetAddress> getBccAddresses()
public List<InternetAddress> getReplyToAddresses()
public int getSocketConnectionTimeout()
public void setSocketConnectionTimeout(int socketConnectionTimeout)
socketConnectionTimeout
- the connection timeoutIllegalStateException
- if the mail session is already initializedpublic int getSocketTimeout()
public void setSocketTimeout(int socketTimeout)
socketTimeout
- the socket I/O timeoutIllegalStateException
- if the mail session is already initializedprotected MimeMessage createMimeMessage(Session aSession)
aSession
- mail session to be usedCopyright © 2001–2017 The Apache Software Foundation. All rights reserved.