WEB开发网
开发学院WEB开发Jsp 使用servlet和javamail发送邮件 阅读

使用servlet和javamail发送邮件

 2008-01-05 08:56:10 来源:WEB开发网   
核心提示:import java.util.PRoperties;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import java
import java.util.PRoperties;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import sun.rmi.transport.Transport;

import com.sun.corba.se.impl.protocol.giopmsgheaders.Message;

public class EmailServlet extends HttpServlet {

 //default value for mail server address, in case the user
 //doesn't provide one
 private final static String DEFAULT_SERVER = "mail.attbi.com";

 public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, java.io.IOException {

  String smtpServ = DEFAULT_SERVER;

  String from = "java2s@yourserver.com";

  String to = "yourname@yourserver.com";

  String subject = "subject line";

  String emailContent = "emailContent";

  response.setContentType("text/Html");
  java.io.PrintWriter out = response.getWriter();
  out
    .println("<html><head><title>Email message sender</title></head><body>");

  try {

   sendMessage(smtpServ, to, from, subject, emailContent);

  } catch (Exception e) {

   throw new ServletException(e.getMessage());

  }

  out.println("<h2>The message was sent sUCcessfully</h2>");

  out.println("</body></html>");

 } //doPost

 private void sendMessage(String smtpServer, String to, String from,
   String subject, String emailContent) throws Exception {

  Properties properties = System.getProperties();

  //populate the 'Properties' object with the mail
  //server address, so that the default 'session'
  //instance can use it.
  properties.put("mail.smtp.host", smtpServer);

  Session session = Session.getDefaultInstance(properties);

  Message mailMsg = new MimeMessage(session);//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));

   } else {

    throw new MessagingException(
      "The mail message requires a valid 'From' address.");

   }

   if (subject != null)
    mailMsg.setSubject(subject);

   if (emailContent != null)
    mailMsg.setText(emailContent);

   //Finally, send the meail message; throws a 'SendFailedException'
   //if any of the message's recipients have an invalid adress
   Transport.send(mailMsg);

  } catch (Exception exc) {

   throw exc;

  }

 }//sendMessage

 public void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, java.io.IOException {

  doPost(request, response);

 }

}//EmailServlet

Tags:使用 servlet javamail

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接