| A class to help send SMTP email.
This class is an improvement on the sun.net.smtp.SmtpClient class
found in the JDK. This version has extra functionality, and can be used
with JVMs that did not extend from the JDK. It's not as robust as
the JavaMail Standard Extension classes, but it's easier to use and
easier to install, and has an Open Source license.
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:
- Figure out how to close the connection in case of error
version: 1.1, 2000/03/19, added angle brackets to address, helps some servers version: version 1.0, 1999/12/29 |