Class EmailTask
java.lang.Object
org.apache.tools.ant.ProjectComponent
org.apache.tools.ant.Task
org.apache.tools.ant.taskdefs.email.EmailTask
- All Implemented Interfaces:
java.lang.Cloneable
public class EmailTask extends Task
A task to send SMTP email. This is a refactoring of the SendMail and
MimeMail tasks such that both are within a single task.
- Since:
- Ant 1.5
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
EmailTask.Encoding
Enumerates the encoding constants. -
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AUTO
Constant to show that the best available mailer should be used.static java.lang.String
MIME
Constant to allow the Mime mailer to be requestedstatic java.lang.String
PLAIN
Constant to allow the plaintext mailer to be requestedstatic java.lang.String
UU
Constant to allow the UU mailer to be requested -
Constructor Summary
Constructors Constructor Description EmailTask()
-
Method Summary
Modifier and Type Method Description void
addBcc(EmailAddress address)
Add a "bcc" address element.void
addCc(EmailAddress address)
Add a "cc" address element.void
addFileset(FileSet fs)
Add a set of files (nested fileset attribute).void
addFrom(EmailAddress address)
Add a from address element.void
addMessage(Message message)
Add a message element.void
addReplyTo(EmailAddress address)
Add a replyto address element.void
addTo(EmailAddress address)
Add a to address element.Path
createAttachments()
Creates a Path as container for attachments.Header
createHeader()
Create a nested header element.void
execute()
Send an email.java.lang.String
getCharset()
Returns the character set of mail message.boolean
getIncludeFileNames()
Get whether file names should be included.void
setBccList(java.lang.String list)
Shorthand to set the "bcc" address element.void
setCcList(java.lang.String list)
Shorthand to set the "cc" address element.void
setCharset(java.lang.String charset)
Sets the character set of mail message.void
setEnableStartTLS(boolean b)
Set whether to allow authentication to switch to a TLS connection via STARTTLS.void
setEncoding(EmailTask.Encoding encoding)
Set the preferred encoding method.void
setFailOnError(boolean failOnError)
Set whether BuildExceptions should be passed back to the core.void
setFiles(java.lang.String filenames)
Set the list of files to be attached.void
setFrom(java.lang.String address)
Shorthand to set the from address element.void
setIgnoreInvalidRecipients(boolean b)
Whether invalid recipients should be ignored (but a warning will be logged) instead of making the task fail.void
setIncludefilenames(boolean includeFileNames)
Set whether to include filenames.void
setMailhost(java.lang.String host)
Set the host.void
setMailport(int port)
Set the mail server port.void
setMessage(java.lang.String message)
Shorthand method to set the message.void
setMessageFile(java.io.File file)
Shorthand method to set the message from a file.void
setMessageFileInputEncoding(java.lang.String encoding)
Sets the encoding to expect when reading the message from a file.void
setMessageMimeType(java.lang.String type)
Shorthand method to set type of the text message, text/plain by default but text/html or text/xml is quite feasible.void
setPassword(java.lang.String password)
Set the password for SMTP auth; this requires JavaMail.void
setReplyTo(java.lang.String address)
Shorthand to set the replyto address element.void
setSSL(boolean ssl)
Set whether to send data over SSL.void
setSubject(java.lang.String subject)
Set the subject line of the email.void
setToList(java.lang.String list)
Shorthand to set the "to" address element.void
setUser(java.lang.String user)
Set the user for SMTP auth; this requires JavaMail.Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
Methods inherited from class org.apache.tools.ant.ProjectComponent
clone, getDescription, getLocation, getProject, setDescription, setLocation, setProject
-
Field Details
-
AUTO
public static final java.lang.String AUTOConstant to show that the best available mailer should be used.- See Also:
- Constant Field Values
-
MIME
public static final java.lang.String MIMEConstant to allow the Mime mailer to be requested- See Also:
- Constant Field Values
-
UU
public static final java.lang.String UUConstant to allow the UU mailer to be requested- See Also:
- Constant Field Values
-
PLAIN
public static final java.lang.String PLAINConstant to allow the plaintext mailer to be requested- See Also:
- Constant Field Values
-
-
Constructor Details
-
EmailTask
public EmailTask()
-
-
Method Details
-
setUser
public void setUser(java.lang.String user)Set the user for SMTP auth; this requires JavaMail.- Parameters:
user
- the String username.- Since:
- Ant 1.6
-
setPassword
public void setPassword(java.lang.String password)Set the password for SMTP auth; this requires JavaMail.- Parameters:
password
- the String password.- Since:
- Ant 1.6
-
setSSL
public void setSSL(boolean ssl)Set whether to send data over SSL.- Parameters:
ssl
- boolean; if true SSL will be used.- Since:
- Ant 1.6
-
setEnableStartTLS
public void setEnableStartTLS(boolean b)Set whether to allow authentication to switch to a TLS connection via STARTTLS.- Parameters:
b
- boolean; if true STARTTLS will be supported.- Since:
- Ant 1.8.0
-
setEncoding
Set the preferred encoding method.- Parameters:
encoding
- The encoding (one of AUTO, MIME, UU, PLAIN).
-
setMailport
public void setMailport(int port)Set the mail server port.- Parameters:
port
- The port to use.
-
setMailhost
public void setMailhost(java.lang.String host)Set the host.- Parameters:
host
- The host to connect to.
-
setSubject
public void setSubject(java.lang.String subject)Set the subject line of the email.- Parameters:
subject
- Subject of this email.
-
setMessage
public void setMessage(java.lang.String message)Shorthand method to set the message.- Parameters:
message
- Message body of this email.
-
setMessageFile
public void setMessageFile(java.io.File file)Shorthand method to set the message from a file.- Parameters:
file
- The file from which to take the message.
-
setMessageMimeType
public void setMessageMimeType(java.lang.String type)Shorthand method to set type of the text message, text/plain by default but text/html or text/xml is quite feasible.- Parameters:
type
- The new MessageMimeType value.
-
addMessage
Add a message element.- Parameters:
message
- The message object.- Throws:
BuildException
- if a message has already been added.
-
addFrom
Add a from address element.- Parameters:
address
- The address to send from.
-
setFrom
public void setFrom(java.lang.String address)Shorthand to set the from address element.- Parameters:
address
- The address to send mail from.
-
addReplyTo
Add a replyto address element.- Parameters:
address
- The address to reply to.- Since:
- Ant 1.6
-
setReplyTo
public void setReplyTo(java.lang.String address)Shorthand to set the replyto address element.- Parameters:
address
- The address to which replies should be directed.- Since:
- Ant 1.6
-
addTo
Add a to address element.- Parameters:
address
- An email address.
-
setToList
public void setToList(java.lang.String list)Shorthand to set the "to" address element.- Parameters:
list
- Comma-separated list of addresses.
-
addCc
Add a "cc" address element.- Parameters:
address
- The email address.
-
setCcList
public void setCcList(java.lang.String list)Shorthand to set the "cc" address element.- Parameters:
list
- Comma separated list of addresses.
-
addBcc
Add a "bcc" address element.- Parameters:
address
- The email address.
-
setBccList
public void setBccList(java.lang.String list)Shorthand to set the "bcc" address element.- Parameters:
list
- comma separated list of addresses.
-
setFailOnError
public void setFailOnError(boolean failOnError)Set whether BuildExceptions should be passed back to the core.- Parameters:
failOnError
- The new FailOnError value.
-
setFiles
public void setFiles(java.lang.String filenames)Set the list of files to be attached.- Parameters:
filenames
- Comma-separated list of files.
-
addFileset
Add a set of files (nested fileset attribute).- Parameters:
fs
- The fileset.
-
createAttachments
Creates a Path as container for attachments. Supports any filesystem resource-collections that way.- Returns:
- the path to be configured.
- Since:
- Ant 1.7
-
createHeader
Create a nested header element.- Returns:
- a Header instance.
-
setIncludefilenames
public void setIncludefilenames(boolean includeFileNames)Set whether to include filenames.- Parameters:
includeFileNames
- Whether to include filenames in the text of the message.
-
getIncludeFileNames
public boolean getIncludeFileNames()Get whether file names should be included.- Returns:
- Identifies whether file names should be included.
-
setIgnoreInvalidRecipients
public void setIgnoreInvalidRecipients(boolean b)Whether invalid recipients should be ignored (but a warning will be logged) instead of making the task fail.Even with this property set to true the task will still fail if the mail couldn't be sent to any recipient at all.
- Parameters:
b
- boolean- Since:
- Ant 1.8.0
-
execute
public void execute()Send an email. -
setCharset
public void setCharset(java.lang.String charset)Sets the character set of mail message. Will be ignored if mimeType contains ....; Charset=... substring or encoding is notmime
.- Parameters:
charset
- the character encoding to use.- Since:
- Ant 1.6
-
getCharset
public java.lang.String getCharset()Returns the character set of mail message.- Returns:
- Charset of mail message.
- Since:
- Ant 1.6
-
setMessageFileInputEncoding
public void setMessageFileInputEncoding(java.lang.String encoding)Sets the encoding to expect when reading the message from a file.Will be ignored if the message has been specified inline.
- Parameters:
encoding
- the name of the charset used- Since:
- Ant 1.9.4
-