org.apache.tools.ant.taskdefs.email
Class EmailTask

java.lang.Object
  extended by org.apache.tools.ant.ProjectComponent
      extended by org.apache.tools.ant.Task
          extended by org.apache.tools.ant.taskdefs.email.EmailTask
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
MimeMail, SendEmail

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
static class EmailTask.Encoding
          Enumerates the encoding constants.
 
Field Summary
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 requested
static java.lang.String PLAIN
          Constant to allow the plaintext mailer to be requested
static java.lang.String UU
          Constant to allow the UU mailer to be requested
 
Fields inherited from class org.apache.tools.ant.Task
target, taskName, taskType, wrapper
 
Fields inherited from class org.apache.tools.ant.ProjectComponent
description, location, project
 
Constructor Summary
EmailTask()
           
 
Method Summary
 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 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 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 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
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

AUTO

public static final java.lang.String AUTO
Constant to show that the best available mailer should be used.

See Also:
Constant Field Values

MIME

public static final java.lang.String MIME
Constant to allow the Mime mailer to be requested

See Also:
Constant Field Values

UU

public static final java.lang.String UU
Constant to allow the UU mailer to be requested

See Also:
Constant Field Values

PLAIN

public static final java.lang.String PLAIN
Constant to allow the plaintext mailer to be requested

See Also:
Constant Field Values
Constructor Detail

EmailTask

public EmailTask()
Method Detail

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

setEncoding

public void setEncoding(EmailTask.Encoding encoding)
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

public void addMessage(Message message)
                throws BuildException
Add a message element.

Parameters:
message - The message object.
Throws:
BuildException - if a message has already been added.

addFrom

public void addFrom(EmailAddress address)
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

public void addReplyTo(EmailAddress address)
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

public void addTo(EmailAddress address)
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

public void addCc(EmailAddress address)
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

public void addBcc(EmailAddress address)
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

public void addFileset(FileSet fs)
Add a set of files (nested fileset attribute).

Parameters:
fs - The fileset.

createAttachments

public Path 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

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

execute

public void execute()
Send an email.

Overrides:
execute in class Task

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 not a mime.

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