Package org.apache.tools.ant.taskdefs.email

# Class Mailer

java.lang.Object
org.apache.tools.ant.taskdefs.email.Mailer

Direct Known Subclasses:
  `JakartaMimeMailer`, `MimeMailer`

public abstract class Mailer extends Object
Base class for the various emailing implementations.

Since:
  Ant 1.5

## Field Summary

Fields
Modifier and Type
Field
Description
`protected Vector<EmailAddress>`
`bccList`
`protected Vector<EmailAddress>`
`ccList`
`protected Vector<File>`
`files`
`protected EmailAddress`
`from`
`protected Vector<Header>`
`headers`
`protected String`
`host`
`protected boolean`
`includeFileNames`
`protected Message`
`message`
`protected String`
`password`
`protected int`
`port`
`protected Vector<EmailAddress>`
`replyToList`
`protected boolean`
`SSL`
`protected String`
`subject`
`protected Task`
`task`
`protected Vector<EmailAddress>`
`toList`
`protected String`
`user`

## Constructor Summary

Constructors
Constructor
Description
`Mailer()`

## Method Summary

Modifier and Type
Method
Description
`protected final String`
`getDate()`
Return the current Date in a format suitable for a SMTP date header.
`protected boolean`
`isPortExplicitlySpecified()`
Whether the port has been explicitly specified by the user.
`protected boolean`
`isStartTLSEnabled()`
`abstract void`
`send()`
Send the email.
`void`
`setBccList(Vector<EmailAddress> list)`
Set the bcc addresses.
`void`
`setCcList(Vector<EmailAddress> list)`
Set the cc addresses.
`void`
`setEnableStartTLS(boolean b)`
Set whether to allow authentication to switch to a TLS connection via STARTTLS.
`void`
`setFiles(Vector<File> files)`
Set the files to attach.
`void`
`setFrom(EmailAddress from)`
Set the address to send from.
`void`
`setHeaders(Vector<Header> v)`
Set the generic headers to add to the email.
`void`
`setHost(String host)`
Set the mail server.
`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 b)`
Indicate whether filenames should be listed in the body.
`void`
`setMessage(Message m)`
Set the message.
`void`
`setPassword(String password)`
Set the password for smtp auth.
`void`
`setPort(int port)`
Set the smtp port.
`void`
`setPortExplicitlySpecified(boolean explicit)`
Whether the port has been explicitly specified by the user.
`void`
`setReplyToList(Vector<EmailAddress> list)`
Set the replyTo addresses.
`void`
`setSSL(boolean ssl)`
Set whether to send the mail through SSL.
`void`
`setSubject(String subject)`
Set the subject.
`void`
`setTask(Task task)`
Set the owning task.
`void`
`setToList(Vector<EmailAddress> list)`
Set the to addresses.
`void`
`setUser(String user)`
Set the user for smtp auth.
`protected boolean`
`shouldIgnoreInvalidRecipients()`
Whether invalid recipients should be ignored.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### host

protected String host

### port

protected int port

### user

protected String user

### password

protected String password

### SSL

protected boolean SSL

### message

protected Message message

### from

protected EmailAddress from

### replyToList

protected Vector<EmailAddress> replyToList

### toList

protected Vector<EmailAddress> toList

### ccList

protected Vector<EmailAddress> ccList

### bccList

protected Vector<EmailAddress> bccList

### files

protected Vector<File> files

### subject

protected String subject

### task

protected Task task

### includeFileNames

protected boolean includeFileNames

### headers

protected Vector<Header> headers

## Constructor Details

### Mailer

public Mailer()

## Method Details

### setHost

public void setHost(String host)
Set the mail server.

Parameters:
  `host` - the mail server name.

### setPort

public void setPort(int port)
Set the smtp port.

Parameters:
  `port` - the SMTP port.

### setPortExplicitlySpecified

public void setPortExplicitlySpecified(boolean explicit)
Whether the port has been explicitly specified by the user.

Parameters:
  `explicit` - boolean
Since:
  Ant 1.8.2

### isPortExplicitlySpecified

protected boolean isPortExplicitlySpecified()
Whether the port has been explicitly specified by the user.

Returns:
  boolean
Since:
  Ant 1.8.2

### setUser

public void setUser(String user)
Set the user for smtp auth.

Parameters:
  `user` - the username.
Since:
  Ant 1.6

### setPassword

public void setPassword(String password)
Set the password for smtp auth.

Parameters:
  `password` - the authentication password.
Since:
  Ant 1.6

### setSSL

public void setSSL(boolean ssl)
Set whether to send the mail through SSL.

Parameters:
  `ssl` - if true use SSL transport.
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

### isStartTLSEnabled

protected boolean isStartTLSEnabled()

### setMessage

public void setMessage(Message m)
Set the message.

Parameters:
  `m` - the message content.

### setFrom

public void setFrom(EmailAddress from)
Set the address to send from.

Parameters:
  `from` - the sender.

### setReplyToList

public void setReplyToList(Vector<EmailAddress> list)
Set the replyTo addresses.

Parameters:
  `list` - a vector of replyTo addresses.
Since:
  Ant 1.6

### setToList

public void setToList(Vector<EmailAddress> list)
Set the to addresses.

Parameters:
  `list` - a vector of recipient addresses.

### setCcList

public void setCcList(Vector<EmailAddress> list)
Set the cc addresses.

Parameters:
  `list` - a vector of cc addresses.

### setBccList

public void setBccList(Vector<EmailAddress> list)
Set the bcc addresses.

Parameters:
  `list` - a vector of the bcc addresses.

### setFiles

public void setFiles(Vector<File> files)
Set the files to attach.

Parameters:
  `files` - list of files to attach to the email.

### setSubject

public void setSubject(String subject)
Set the subject.

Parameters:
  `subject` - the subject line.

### setTask

public void setTask(Task task)
Set the owning task.

Parameters:
  `task` - the owning task instance.

### setIncludeFileNames

public void setIncludeFileNames(boolean b)
Indicate whether filenames should be listed in the body.

Parameters:
  `b` - if true list attached file names in the body content.

### setHeaders

public void setHeaders(Vector<Header> v)
Set the generic headers to add to the email.

Parameters:
  `v` - a Vector presumed to contain Header objects.
Since:
  Ant 1.7

### send

public abstract void send() throws BuildException
Send the email.

Throws:
  `BuildException` - if the email can't be sent.

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

### shouldIgnoreInvalidRecipients

protected boolean shouldIgnoreInvalidRecipients()
Whether invalid recipients should be ignored.

Returns:
  boolean
Since:
  Ant 1.8.0

### getDate

protected final String getDate()
Return the current Date in a format suitable for a SMTP date header.

Returns:
  the current date in SMTP suitable format.
Since:
  Ant 1.5