%@ page import = "javax.mail.*,javax.mail.internet.*, javax.activation.*,java.util.*" %> <%! private final String formRecipient = "webmaster@javadesktop.com"; private final String mailhost = "mail.javadesktop.com"; private final String senderAddress = "mail-form@javadesktop.com"; class formField { String name; boolean required; formField (String name, boolean required) { this.name = name; this.required = required; } } Vector fieldList = new Vector(); public void jspInit() { fieldList.add(new formField("Name", true)); fieldList.add(new formField("Address", false)); fieldList.add(new formField("City", false)); fieldList.add(new formField("State", false)); fieldList.add(new formField("ZIP Code", false)); fieldList.add(new formField("Day Phone", false)); fieldList.add(new formField("Evening Phone", false)); fieldList.add(new formField("Email", true)); fieldList.add(new formField("Website", false)); } String displayField (String name) { StringBuffer formOut = new StringBuffer(); formOut.append("\n"); return (formOut.toString()); } String storeField (String name, String value) { StringBuffer formOut = new StringBuffer(); formOut.append("\n"); return (formOut.toString()); } boolean isValidForm (HttpServletRequest req) { boolean valid = true; Enumeration need = fieldList.elements(); while (need.hasMoreElements()) { formField field = (formField)need.nextElement(); if (field.required) { String value = req.getParameter(field.name); if (value == null || value.equals("")) { valid = false; } } } return (valid); } String mailForm (HttpServletRequest req) throws JspException{ StringBuffer message = new StringBuffer(); Enumeration fields = fieldList.elements(); while (fields.hasMoreElements()) { formField field = (formField)fields.nextElement(); message.append(field.name) .append(" : ") .append(req.getParameter(field.name)) .append("\n"); } // JavaMail here. Properties props = System.getProperties(); props.put("mail.smtp.host", mailhost); Session emailsession = Session.getDefaultInstance(props, null); try { Message email = new MimeMessage(emailsession); email.setFrom(new InternetAddress(senderAddress)); InternetAddress[] address = { new InternetAddress(formRecipient) }; email.setRecipients(Message.RecipientType.TO,address); email.setSubject(req.getServletPath()); email.setSentDate(new Date()); email.setHeader("X-Mailer","MailFormJava"); email.setText(message.toString()); Transport.send(email); } catch (MessagingException e) { throw new JspException (e.getMessage()); } return (message.toString()); } %> <% if (isValidForm(request)) { mailForm(request); // need to create a 'thanks for your comments' page response.sendRedirect("thanks.jsp"); } %>