com.darwinsys.mail
Class Mailer

java.lang.Object
  extended by com.darwinsys.mail.Mailer

public class Mailer
extends java.lang.Object

Mailer. No relation to Norman. Sends an email message. My old Sender class, recast as a Bean for use in JSP's & elsewhere. Example usage:

 Mailer mb = new Mailer();
 mb.setFrom("orders@YourDomain.com");
 mb.addTo("orders@YourDomain.com");
 mb.setSubject("LHBOOKS ORDER!!");
 mb.setBody(order.toString());
 mb.setServer(application.getInitParameter("mail.server.smtp")); 
 try {
     mb.doSend();
 } catch (MessagingException ex) {
           ...
 }
 

Version:
$Id: Mailer.java,v 1.17 2005/10/27 03:07:42 ian Exp $
Author:
Ian F. Darwin

Field Summary
protected  java.util.List<java.lang.String> bccList
          The BCC list, as Strings.
protected  java.lang.String body
          The text of the message.
protected  java.util.List<java.lang.String> ccList
          The CC list, as Strings.
protected  java.lang.String from
          The sender's email address
protected  java.lang.String mailHost
          The SMTP relay host
protected  javax.mail.Session session
          The javamail session object.
protected  java.lang.String subject
          The subject of the message.
protected  java.util.List<java.lang.String> toList
          The recipient ("To:"), as Strings.
protected  boolean verbose
          The verbosity setting
 
Constructor Summary
Mailer()
           
 
Method Summary
 void addBcc(java.lang.String bcc)
          Add one "bcc" recipient
 void addCc(java.lang.String cc)
          Add one "cc" recipient
 void addTo(java.lang.String to)
          Add one "to" recipient
 void doSend()
          Send the message.
 java.util.List<java.lang.String> getBccList()
          Get bcclist, as an array of Strings
 java.lang.String getBody()
          Get message
 java.util.List<java.lang.String> getCcList()
          Get cclist, as an array of Strings
 java.lang.String getFrom()
          Get from
 java.lang.String getSubject()
          Get subject
 java.util.List<java.lang.String> getToList()
          Get tolist, as an array of Strings
 boolean isComplete()
          Check if all required fields have been set before sending.
 boolean isVerbose()
          Get verbose
static void send(java.lang.String mailhost, java.lang.String recipient, java.lang.String sender, java.lang.String subject, java.lang.String message)
          Convenience method that does it all with one call.
 void setBccList(java.util.List<java.lang.String> bcc)
          Set bcc list to an ArrayList of Strings
 void setBccList(java.lang.String s)
          Set bcc as a string like "tom, mary, robin@host".
 void setBody(java.lang.String text)
          Set message
 void setCcList(java.util.ArrayList<java.lang.String> cc)
          Set cc list to an ArrayList of Strings
 void setCcList(java.lang.String s)
          Set cc as a string like "tom, mary, robin@host".
 void setFrom(java.lang.String fm)
          Set from
 void setServer(java.lang.String s)
           
 void setSubject(java.lang.String subj)
          Set subject
 void setToList(java.util.ArrayList<java.lang.String> to)
          Set to list to an ArrayList of Strings
 void setToList(java.lang.String s)
          Set to as a string like "tom, mary, robin@host".
 void setVerbose(boolean v)
          Set verbose
protected  java.util.List<java.lang.String> tokenize(java.lang.String s)
          Convert a list of addresses to an ArrayList.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

session

protected javax.mail.Session session
The javamail session object.


from

protected java.lang.String from
The sender's email address


subject

protected java.lang.String subject
The subject of the message.


toList

protected java.util.List<java.lang.String> toList
The recipient ("To:"), as Strings.


ccList

protected java.util.List<java.lang.String> ccList
The CC list, as Strings.


bccList

protected java.util.List<java.lang.String> bccList
The BCC list, as Strings.


body

protected java.lang.String body
The text of the message.


mailHost

protected java.lang.String mailHost
The SMTP relay host


verbose

protected boolean verbose
The verbosity setting

Constructor Detail

Mailer

public Mailer()
Method Detail

getFrom

public java.lang.String getFrom()
Get from


setFrom

public void setFrom(java.lang.String fm)
Set from


getSubject

public java.lang.String getSubject()
Get subject


setSubject

public void setSubject(java.lang.String subj)
Set subject


getToList

public java.util.List<java.lang.String> getToList()
Get tolist, as an array of Strings


setToList

public void setToList(java.util.ArrayList<java.lang.String> to)
Set to list to an ArrayList of Strings


setToList

public void setToList(java.lang.String s)
Set to as a string like "tom, mary, robin@host". Loses any previously-set values.


addTo

public void addTo(java.lang.String to)
Add one "to" recipient


getCcList

public java.util.List<java.lang.String> getCcList()
Get cclist, as an array of Strings


setCcList

public void setCcList(java.util.ArrayList<java.lang.String> cc)
Set cc list to an ArrayList of Strings


setCcList

public void setCcList(java.lang.String s)
Set cc as a string like "tom, mary, robin@host". Loses any previously-set values.


addCc

public void addCc(java.lang.String cc)
Add one "cc" recipient


getBccList

public java.util.List<java.lang.String> getBccList()
Get bcclist, as an array of Strings


setBccList

public void setBccList(java.util.List<java.lang.String> bcc)
Set bcc list to an ArrayList of Strings


setBccList

public void setBccList(java.lang.String s)
Set bcc as a string like "tom, mary, robin@host". Loses any previously-set values.


addBcc

public void addBcc(java.lang.String bcc)
Add one "bcc" recipient


getBody

public java.lang.String getBody()
Get message


setBody

public void setBody(java.lang.String text)
Set message


isVerbose

public boolean isVerbose()
Get verbose


setVerbose

public void setVerbose(boolean v)
Set verbose


isComplete

public boolean isComplete()
Check if all required fields have been set before sending. Normally called e.g., by a JSP before calling doSend. Is also called by doSend for verification.


setServer

public void setServer(java.lang.String s)

doSend

public void doSend()
            throws javax.mail.MessagingException
Send the message.

Throws:
javax.mail.MessagingException

send

public static void send(java.lang.String mailhost,
                        java.lang.String recipient,
                        java.lang.String sender,
                        java.lang.String subject,
                        java.lang.String message)
                 throws javax.mail.MessagingException
Convenience method that does it all with one call.

Parameters:
mailhost - - SMTP server host
recipient - - domain address of email (user@host.domain)
sender - - your email address
subject - - the subject line
message - - the entire message body as a String with embedded \n's
Throws:
javax.mail.MessagingException

tokenize

protected java.util.List<java.lang.String> tokenize(java.lang.String s)
Convert a list of addresses to an ArrayList. This will work for simple names like "tom, mary@foo.com, 123.45@c$.com" but will fail on certain complex (but RFC-valid) names like "(Darwin, Ian) ". Or even "Ian Darwin ".



Copyright © 1996-2004 Ian F. Darwin. See license.html for usage license.