Java tutorial
import java.io.IOException; import java.io.PrintWriter; import javax.naming.Context; import javax.naming.InitialContext; import javax.naming.NamingException; import javax.mail.*; import javax.mail.internet.*; import javax.servlet.*; import javax.servlet.http.*; public class EmailJndiServlet extends HttpServlet { private Session mailSession; public void init() throws ServletException { Context env = null; try { env = (Context) new InitialContext(); mailSession = (Session) env.lookup("MyEmail"); if (mailSession == null) throw new ServletException("MyEmail is an unknown JNDI object"); //close the InitialContext env.close(); } catch (NamingException ne) { try { env.close(); } catch (NamingException nex) { } throw new ServletException(ne); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { response.setContentType("text/html"); java.io.PrintWriter out = response.getWriter(); out.println("<html><head><title>Email message sender</title></head><body>"); String to = request.getParameter("to"); String from = request.getParameter("from"); String subject = request.getParameter("subject"); String emailContent = request.getParameter("emailContent"); try { sendMessage(to, from, subject, emailContent); } catch (Exception exc) { throw new ServletException(exc.getMessage()); } out.println("<h2>The message was sent successfully</h2></body></html>"); out.println("</body></html>"); out.close(); } //doPost public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, java.io.IOException { doPost(request, response); } private void sendMessage(String to, String from, String subject, String bodyContent) throws Exception { Message mailMsg = null; synchronized (mailSession) { mailMsg = new MimeMessage(mailSession);//a new email message } InternetAddress[] addresses = null; try { if (to != null) { //throws 'AddressException' if the 'to' email address //violates RFC822 syntax addresses = InternetAddress.parse(to, false); mailMsg.setRecipients(Message.RecipientType.TO, addresses); } else { throw new MessagingException("The mail message requires a 'To' address."); } if (from != null) mailMsg.setFrom(new InternetAddress(from)); if (subject != null) mailMsg.setSubject(subject); if (bodyContent != null) mailMsg.setText(bodyContent); //Finally, send the mail message; throws a 'SendFailedException' //if any of the message's recipients have an invalid adress Transport.send(mailMsg); } catch (Exception exc) { throw exc; } }//sendMessage }//EmailJndiServlet