使用servlet和javamail发送邮件

王朝java/jsp·作者佚名  2008-05-31
宽屏版  字体: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有