/** * Simple Email Servlet. * Internet Programming 2 - Course * @author Martin Carlsson */ import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import com.oreilly.servlet.ParameterParser; import com.oreilly.servlet.MailMessage; import com.oreilly.servlet.ServletUtils; public class EmailServlet extends HttpServlet { private static final String mailserver = "smtprelay1.telia.com"; private static final String correctPassword = "xxx"; // I'm not telling:-) private String from, to, password, date = new Date().toString(); private String cc, bcc, subject, message; private String mimeVersion = "1.0", contentType = "text/plain; charset=ISO-8859-1", contentTransferEncoding = "8bit"; private String warning = "Warning! This mail was from a Web form. Sender could be invalid!"; public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException { res.setContentType("text/plain"); PrintWriter out = res.getWriter(); Enumeration e = req.getParameterNames(); while (e.hasMoreElements()) { String key = (String)e.nextElement(); if(key.equals("from")) { from = req.getParameter(key); } if(key.equals("to")) { to = req.getParameter(key); } if(key.equals("cc")) { cc = req.getParameter(key); } if(key.equals("bcc")) { bcc = req.getParameter(key); } if(key.equals("subject")) { subject = req.getParameter(key); } if(key.equals("message")) { message = req.getParameter(key); } if(key.equals("password")) { password = req.getParameter(key); } } if(password.equals(correctPassword)) { try { MailMessage msg = new MailMessage(mailserver); msg.setHeader("Mime-Version", mimeVersion); msg.setHeader("Content-Type", contentType); msg.setHeader("Content-Transfer-Encoding:",contentTransferEncoding); msg.from(from); msg.to(to); if(cc !=null && cc.length() != 0) { msg.cc(cc); } if(bcc !=null && bcc.length() != 0) { msg.bcc(bcc); } msg.setSubject(subject); msg.setHeader("Date", date); PrintStream body = new PrintStream(msg.getPrintStream()); body.println("\n\n" + message + "\n\n" + warning); msg.sendAndClose(); out.println("Message sent!\n\n"); sendMailCopy(out); } catch(IOException iOe) { out.println("There was a problem sending the email!\n\n" + iOe); } } else { out.println("Bad password, go back and try again!"); } } public void sendMailCopy(PrintWriter out) { out.println("MIME-Version: " + mimeVersion); out.println("Content-Type: " + contentType); out.println("Content-Transfer-Encoding: " + contentTransferEncoding); out.println("From: " + from); out.println("To: " + to); out.println("Cc: " +cc); out.println("Bcc: " + bcc); out.println("Subject: " + subject); out.println("Date : " + date); out.println("\n\n" + message + "\n\n" + warning); } } //End class EmailServlet