----- Original Message ----- From: "Justyna Horwat" <[EMAIL PROTECTED]> To: "Tomcat Developers List" <[EMAIL PROTECTED]> Sent: Sunday, September 08, 2002 3:26 PM Subject: [PATCH] jakarta-servlet-api: JSP 1.2 examples
> This is a patch for the JSP 1.2 SendMail example. The implementation of > this example is missing. > > The implementation has a dependency on the JavaMail classes. By default > the container does not have the JavaMail implementation classes ar > runtime so this example won't work "out of the box" until that jar file > is bundled. As I recall, JavaMail is a "click-through" license, so it can't be bundled. > > This patch includes updates to the existing jsp files, adds the missing > implementation file, and updates the build.xml file. > > jakarta-servletapi-5/jsr152/build.xml > jakarta-servletapi-5/jsr152/examples/mail/sendmail.jsp > jakarta-servletapi-5/jsr152/examples/mail/sendmail.txt > jakarta-servletapi-5/jsr152/examples/WEB-INF/classes/SendMailServlet.java > <-- NEW > > Justy > ---------------------------------------------------------------------------- ---- > Index: jsr152/build.xml > =================================================================== > RCS file: /home/cvs/jakarta-servletapi-5/jsr152/build.xml,v > retrieving revision 1.2 > diff -u -r1.2 build.xml > --- jsr152/build.xml 27 Aug 2002 13:17:42 -0000 1.2 > +++ jsr152/build.xml 8 Sep 2002 22:18:27 -0000 > @@ -19,6 +19,7 @@ > <path id="examples.classpath"> > <pathelement location="${jsp-api.build}/classes"/> > <pathelement location="${servlet-api.jar}"/> > + <pathelement location="${mail.jar}"/> > </path> > > Index: jsr152/examples/mail/sendmail.jsp > =================================================================== > RCS file: /home/cvs/jakarta-servletapi-5/jsr152/examples/mail/sendmail.jsp,v > retrieving revision 1.1.1.1 > diff -u -r1.1.1.1 sendmail.jsp > --- jsr152/examples/mail/sendmail.jsp 27 Aug 2002 13:16:51 -0000 1.1.1.1 > +++ jsr152/examples/mail/sendmail.jsp 8 Sep 2002 22:19:15 -0000 > @@ -16,10 +16,13 @@ > SMTP service for your network.</li> > <li>The application logic assumes that no user authentication is required > by your SMTP server before accepting mail messages to be sent.</li> > +<li>You will need to have the <a href="http://java.sun.com/products/javamail"> > + JavaMail Implementation</a> classes available to your container > + in order for this example to work.</li> > <li>All of the fields below are required.</li> > </ul> > > -<form method="POST" action="../../SendMailServlet"> > +<form method="POST" action="../SendMailServlet"> > <table> > > <tr> > > Index: jsr152/examples/mail/sendmail.txt > =================================================================== > RCS file: /home/cvs/jakarta-servletapi-5/jsr152/examples/mail/sendmail.txt,v > retrieving revision 1.1.1.1 > diff -u -r1.1.1.1 sendmail.txt > --- jsr152/examples/mail/sendmail.txt 27 Aug 2002 13:16:51 -0000 1.1.1.1 > +++ jsr152/examples/mail/sendmail.txt 8 Sep 2002 22:19:33 -0000 > @@ -16,10 +16,13 @@ > SMTP service for your network.</li> > <li>The application logic assumes that no user authentication is required > by your SMTP server before accepting mail messages to be sent.</li> > +<li>You will need to have the <a href="http://java.sun.com/products/javamail"> > + JavaMail Implementation</a> classes available to your container > + in order for this example to work.</li> > <li>All of the fields below are required.</li> > </ul> > > -<form method="POST" action="../../SendMailServlet"> > +<form method="POST" action="../SendMailServlet"> > <table> > > <tr> > ---------------------------------------------------------------------------- ---- > /* $Id$ > * > */ > > import java.io.IOException; > import java.io.PrintWriter; > import javax.mail.Message; > import javax.mail.Session; > import javax.mail.Transport; > import javax.mail.internet.InternetAddress; > import javax.mail.internet.MimeMessage; > import javax.naming.Context; > import javax.naming.InitialContext; > import javax.servlet.RequestDispatcher; > import javax.servlet.ServletException; > import javax.servlet.http.HttpServlet; > import javax.servlet.http.HttpServletRequest; > import javax.servlet.http.HttpServletResponse; > > > > /** > * Example servlet sending mail message via JNDI resource. > * > * @author Craig McClanahan > * @version $Revision$ $Date$ > */ > > public class SendMailServlet extends HttpServlet { > > public void doPost(HttpServletRequest request, > HttpServletResponse response) > throws IOException, ServletException > { > > // Acquire request parameters we need > String from = request.getParameter("mailfrom"); > String to = request.getParameter("mailto"); > String subject = request.getParameter("mailsubject"); > String content = request.getParameter("mailcontent"); > if ((from == null) || (to == null) || > (subject == null) || (content == null)) { > RequestDispatcher rd = > getServletContext().getRequestDispatcher("/jsp/mail/sendmail.jsp"); > rd.forward(request, response); > return; > } > > // Prepare the beginning of our response > PrintWriter writer = response.getWriter(); > response.setContentType("text/html"); > writer.println("<html>"); > writer.println("<head>"); > writer.println("<title>Example Mail Sending Results</title>"); > writer.println("</head>"); > writer.println("<body bgcolor=\"white\">"); > > try { > > // Acquire our JavaMail session object > Context initCtx = new InitialContext(); > Context envCtx = (Context) initCtx.lookup("java:comp/env"); > Session session = (Session) envCtx.lookup("mail/Session"); > > // Prepare our mail message > Message message = new MimeMessage(session); > message.setFrom(new InternetAddress(from)); > InternetAddress dests[] = new InternetAddress[] > { new InternetAddress(to) }; > message.setRecipients(Message.RecipientType.TO, dests); > message.setSubject(subject); > message.setContent(content, "text/plain"); > > // Send our mail message > Transport.send(message); > > // Report success > writer.println("<strong>Message successfully sent!</strong>"); > > } catch (Throwable t) { > > writer.println("<font color=\"red\">"); > writer.println("ENCOUNTERED EXCEPTION: " + t); > writer.println("<pre>"); > t.printStackTrace(writer); > writer.println("</pre>"); > writer.println("</font>"); > > } > > // Prepare the ending of our response > writer.println("<br><br>"); > writer.println("<a href=\"/mail/sendmail.jsp\">Create a new message</a><br>"); > writer.println("<a href=\"/index.html\">Back to examples home</a><br>"); > writer.println("</body>"); > writer.println("</html>"); > > } > > } > > ---------------------------------------------------------------------------- ---- > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>