SendMailServlet.java
上传用户:dinglihq
上传日期:2013-02-04
资源大小:99958k
文件大小:3k
源码类别:

Java编程

开发平台:

Java

  1. package bible.javamail;
  2. import java.io.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5. import java.util.*;
  6. import javax.activation.*;
  7. import javax.mail.*;
  8. import javax.mail.internet.*;
  9. import javax.naming.*;
  10. /**
  11.  * Class SendMailServlet
  12.  *
  13.  *
  14.  * @author
  15.  * @version %I%, %G%
  16.  */
  17. public class SendMailServlet extends HttpServlet {
  18.   private String to             = "";
  19.   private String subject        = "";
  20.   private String messageText    = "";
  21.   private String successMessage = "";
  22.   /**
  23.    * Method doGet
  24.    *
  25.    *
  26.    * @param req
  27.    * @param res
  28.    *
  29.    * @throws IOException
  30.    * @throws ServletException
  31.    *
  32.    */
  33.   public void doGet(HttpServletRequest req, HttpServletResponse res)
  34.     throws ServletException, IOException {
  35.     PrintWriter pw = res.getWriter();
  36.     res.setContentType("text/html");
  37.     pw.println("<HTML><HEAD><TITLE>Send Mail - Simple</TITLE></HEAD>");
  38.     pw.println("<BODY><H1>Send Mail - Simple</H1>");
  39.     pw.println("<FORM ACTION='sendmail' METHOD=post><TABLE>");
  40.     pw.println("<TR><TD>To:</TD><TD><INPUT NAME=to size=60></TD></TR>");
  41.     pw.println("<TR><TD>Subject:</TD><TD><INPUT NAME=subject size=60>"
  42.                + "</TD></TR>");
  43.     pw.println("<TR><TD VALIGN>Message:</TD>");
  44.     pw.println("<TD><TEXTAREA NAME=messageText rows=10 cols=60>"
  45.                + "</TEXTAREA></TD></TR>");
  46.     pw.println("<TR><TD><INPUT TYPE=SUBMIT NAME=Submit VALUE=Submit>"
  47.                + "</TD></TR>");
  48.     pw.println("</TABLE></FORM>");
  49.     pw.println("<STRONG>" + successMessage + "</STRONG>");
  50.     pw.println("</BODY></HTML>");
  51.   }
  52.   /**
  53.    * Method doPost
  54.    *
  55.    *
  56.    * @param req
  57.    * @param res
  58.    *
  59.    * @throws IOException
  60.    * @throws ServletException
  61.    *
  62.    */
  63.   public void doPost(HttpServletRequest req, HttpServletResponse res)
  64.     throws ServletException, IOException {
  65.     to          = req.getParameter("to");
  66.     subject     = req.getParameter("subject");
  67.     messageText = req.getParameter("messageText");
  68.     sendMessage();
  69.     doGet(req, res);
  70.   }
  71.   /**
  72.    * Method sendMessage
  73.    *
  74.    *
  75.    */
  76.   public void sendMessage() {
  77.     try {
  78.       // lookup mail session in JNDI
  79.       InitialContext context = new InitialContext();
  80.       Session        session = (Session) context.lookup("BibleMailSession");
  81.       // set message with to, subject, and message text
  82.       Message msg = new MimeMessage(session);
  83.       // set message with to, subject, and message text
  84.       msg.setFrom();
  85.       msg.setRecipients(Message.RecipientType.TO,
  86.                         InternetAddress.parse(to, false));
  87.       msg.setSubject(subject);
  88.       msg.setSentDate(new Date());
  89.       msg.setText(messageText);
  90.       // send message
  91.       Transport.send(msg);
  92.       successMessage = "Message sucessfully sent.";
  93.       session        = null;
  94.     } catch (Exception e) {
  95.       successMessage = e.getMessage();
  96.     }
  97.   }
  98. }
  99. /*--- Formatted in Bible Style on Thu, Sep 6, '01 ---*/
  100. /*------ Formatted by Jindent 3.24 Gold 1.02 --- http://www.jindent.de ------*/