KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > SendMailServlet


1 /* $Id: SendMailServlet.java,v 1.1 2001/09/09 04:00:08 craigmcc Exp $
2  *
3  */

4
5 import java.io.IOException JavaDoc;
6 import java.io.PrintWriter JavaDoc;
7 import javax.mail.Message JavaDoc;
8 import javax.mail.Session JavaDoc;
9 import javax.mail.Transport JavaDoc;
10 import javax.mail.internet.InternetAddress JavaDoc;
11 import javax.mail.internet.MimeMessage JavaDoc;
12 import javax.naming.Context JavaDoc;
13 import javax.naming.InitialContext JavaDoc;
14 import javax.servlet.RequestDispatcher JavaDoc;
15 import javax.servlet.ServletException JavaDoc;
16 import javax.servlet.http.HttpServlet JavaDoc;
17 import javax.servlet.http.HttpServletRequest JavaDoc;
18 import javax.servlet.http.HttpServletResponse JavaDoc;
19
20
21
22 /**
23  * Example servlet sending mail message via JNDI resource.
24  *
25  * @author Craig McClanahan
26  * @version $Revision: 1.1 $ $Date: 2001/09/09 04:00:08 $
27  */

28
29 public class SendMailServlet extends HttpServlet JavaDoc {
30
31     public void doPost(HttpServletRequest JavaDoc request,
32                        HttpServletResponse JavaDoc response)
33         throws IOException JavaDoc, ServletException JavaDoc
34     {
35
36         // Acquire request parameters we need
37
String JavaDoc from = request.getParameter("mailfrom");
38         String JavaDoc to = request.getParameter("mailto");
39         String JavaDoc subject = request.getParameter("mailsubject");
40         String JavaDoc content = request.getParameter("mailcontent");
41         if ((from == null) || (to == null) ||
42             (subject == null) || (content == null)) {
43             RequestDispatcher JavaDoc rd =
44                 getServletContext().getRequestDispatcher("/jsp/mail/sendmail.jsp");
45             rd.forward(request, response);
46             return;
47         }
48
49         // Prepare the beginning of our response
50
PrintWriter JavaDoc writer = response.getWriter();
51         response.setContentType("text/html");
52         writer.println("<html>");
53         writer.println("<head>");
54         writer.println("<title>Example Mail Sending Results</title>");
55         writer.println("</head>");
56         writer.println("<body bgcolor=\"white\">");
57
58         try {
59
60             // Acquire our JavaMail session object
61
Context JavaDoc initCtx = new InitialContext JavaDoc();
62             Context JavaDoc envCtx = (Context JavaDoc) initCtx.lookup("java:comp/env");
63             Session JavaDoc session = (Session JavaDoc) envCtx.lookup("mail/Session");
64
65             // Prepare our mail message
66
Message JavaDoc message = new MimeMessage JavaDoc(session);
67             message.setFrom(new InternetAddress JavaDoc(from));
68             InternetAddress JavaDoc dests[] = new InternetAddress JavaDoc[]
69                 { new InternetAddress JavaDoc(to) };
70             message.setRecipients(Message.RecipientType.TO, dests);
71             message.setSubject(subject);
72             message.setContent(content, "text/plain");
73
74             // Send our mail message
75
Transport.send(message);
76
77             // Report success
78
writer.println("<strong>Message successfully sent!</strong>");
79
80         } catch (Throwable JavaDoc t) {
81
82             writer.println("<font color=\"red\">");
83             writer.println("ENCOUNTERED EXCEPTION: " + t);
84             writer.println("<pre>");
85             t.printStackTrace(writer);
86             writer.println("</pre>");
87             writer.println("</font>");
88
89         }
90
91         // Prepare the ending of our response
92
writer.println("<br><br>");
93         writer.println("<a HREF=\"jsp/mail/sendmail.jsp\">Create a new message</a><br>");
94         writer.println("<a HREF=\"jsp/index.html\">Back to examples home</a><br>");
95         writer.println("</body>");
96         writer.println("</html>");
97
98     }
99
100 }
101
Popular Tags