一、设置环境
1、下载并构建Java Mail API
下载网址:http://java.sun.com/products/javamail/downloads/index.html
解压后将mail.jar放到实例程序的WEB-INF/lib目录下
2、下载并构建JAF
下载网址:http://java.sun.com/products/javabeans/jaf/downloads/index.html
解压后将activation.jar放到实例程序WEB-INF/li目录下
二、发送普通文本邮件
<%@ page contentType="text/html;charset=gb2312" language="java" errorPage="" %>
<%@ page import="java.util.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%
try{
request.setCharacterEncoding("gb2312");
String from=request.getParameter("from");
String to=request.getParameter("to");
String subject=request.getParameter("subject");
String messageText=request.getParameter("content");
String password=request.getParameter("password");
//生成SMTP的主机名称
int n=from.indexOf('@');
int m=from.length();
String mailserver="smtp."+from.subString(n+1, m);
// String servername="smtp.sina.com";
// 建立邮件会话
Properties pro=new Properties();
pro.put("mail.smtp.host", mailserver);
pro.put("mail.smtp.auth", "True");
Session sess=Session.getInstance(pro);
sess.setDebug(True);
//新建一个消息对象
MimeMessage message=new MimeMessage(sess);
// 设置发件人
InternetAddress from_mail=new InternetAddress(from);
message.setFrom(from_mail);
// 设置收件人
InternetAddress to_mail=new InternetAddress(to);
message.setRecipient(Message.RecipientType.TO, to_mail);
// 设置主题
message.setSubject(subject);
// 设置内容
message.setText(messageText);
// 设置发送时间
message.setSentDate(new Date());
// 发送邮件
message.saveChanges(); //保证报头域同会话内容保持一致
Transport transport=sess.getTransport("smtp");
transport.connect(mailserver, from, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
out.println("<script language='javascript'> alert('Email be sent!'); window.location.href='index.jsp';</script>");
}catch(Exception e){
System.out.println(e.getMessage());
out.println("<script language='javascript'>alert('Email not be sent!'); window.location.href='index.jsp';</script>");
}
%>