org.apache.tools.mail
public class MailMessage extends Object
It can be used like this:
String mailhost = "localhost"; // or another mail host String from = "Mail Message Servlet <MailMessage@server.com>"; String to = "to@you.com"; String cc1 = "cc1@you.com"; String cc2 = "cc2@you.com"; String bcc = "bcc@you.com"; MailMessage msg = new MailMessage(mailhost); msg.setPort(25); msg.from(from); msg.to(to); msg.cc(cc1); msg.cc(cc2); msg.bcc(bcc); msg.setSubject("Test subject"); PrintStream out = msg.getPrintStream(); Enumeration enum = req.getParameterNames(); while (enum.hasMoreElements()) { String name = (String)enum.nextElement(); String value = req.getParameter(name); out.println(name + " = " + value); } msg.sendAndClose();
Be sure to set the from address, then set the recepient addresses, then set the subject and other headers, then get the PrintStream, then write the message, and finally send and close. The class does minimal error checking internally; it counts on the mail host to complain if there's any malformatted input or out of order execution.
An attachment mechanism based on RFC 1521 could be implemented on top of this class. In the meanwhile, JavaMail is the best solution for sending email with attachments.
Still to do:
Version: 1.1, 2000/03/19, added angle brackets to address, helps some servers version 1.0, 1999/12/29
Field Summary | |
---|---|
static String | DEFAULT_HOST default mailhost |
static int | DEFAULT_PORT default port for SMTP: 25 |
Constructor Summary | |
---|---|
MailMessage()
Constructs a new MailMessage to send an email.
| |
MailMessage(String host)
Constructs a new MailMessage to send an email.
| |
MailMessage(String host, int port)
Constructs a new MailMessage to send an email.
|
Method Summary | |
---|---|
void | bcc(String bcc)
Sets the bcc address. |
void | cc(String cc)
Sets the cc address. |
void | from(String from)
Sets the from address. |
PrintStream | getPrintStream()
Returns a PrintStream that can be used to write the body of the message.
|
void | replyto(String rto)
Sets the replyto address
This method may be
called multiple times. |
void | sendAndClose()
Sends the message and closes the connection to the server.
|
void | setHeader(String name, String value)
Sets the named header to the given value. |
void | setPort(int port)
Set the port to connect to the SMTP host. |
void | setSubject(String subj)
Sets the subject of the mail message. |
void | to(String to)
Sets the to address. |
Throws: IOException if there's any problem contacting the mail server
Parameters: host the mail server to use
Throws: IOException if there's any problem contacting the mail server
Parameters: host the mail server to use port the port to connect to
Throws: IOException if there's any problem contacting the mail server
Parameters: bcc the bcc address
Throws: IOException if there's any problem reported by the mail server
Parameters: cc the cc address
Throws: IOException if there's any problem reported by the mail server
Parameters: from the from address
Throws: IOException if there's any problem reported by the mail server
Returns: a printstream containing the data and the headers of the email
Throws: IOException if there's any problem reported by the mail server
See Also: Message
Parameters: rto the replyto address
Throws: IOException if there's any problem reported by the mail server
Parameters: name name of the header value contents of the header
Parameters: port the port to use for connection.
See Also: DEFAULT_PORT
Parameters: subj the subject of the mail message
Parameters: to the to address
Throws: IOException if there's any problem reported by the mail server