在解压后,将activation.jar和mail.jar复制到 /WEB-INF/lib 目录后,JAVAMAIL便可以正常使用了
下面sendmail.jsp 内容如下
<%@page contentType="text/html;charset=gb2312"%>
<%@ page import="java.util.*, javax.mail.*, javax.mail.internet.*" %>
<html>
<head>
<title>JavaMail 电子邮件发送系统</title>
</head>
<body>
<%
// 以下变量为用户根据自己的情况设置
String smtphost = "smtp.163.com"; // 发送邮件服务器
String user = "test"; // 邮件服务器登录用户名
String password = "tset"; // 邮件服务器登录密码
String from = test@163.com; // 发送人邮件地址
String to = test@sohu.com; // 接受人邮件地址
String subject = "JavaMail 电子邮件发送系统测试"; // 邮件标题
String body = "JavaMail 电子邮件发送系统"; // 邮件内容
// 以下为发送程序,用户无需改动
try {
Properties props = new Properties();
props.put("mail.smtp.host", smtphost);
props.put("mail.smtp.auth","true");
Session ssn = Session.getInstance(props, null);
MimeMessage message = new MimeMessage(ssn);
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
InternetAddress toAddress = new InternetAddress(to);
message.addRecipient(Message.RecipientType.TO, toAddress);
message.setSubject(subject);
message.setText(body);
Transport transport = ssn.getTransport("smtp");
transport.connect(smtphost, user, password);
transport.sendMessage(message, message.getRecipients(Message.RecipientType.TO));
//transport.send(message);
transport.close();
%><p>你的邮件已发送,请返回。</p><%
} catch(Exception m) {
out.println(m.toString());
m.printStackTrace();
}%>
</BODY>
</HTML>
注意:在用户名和密码都没有问题的情况下,如果代码抛出javax.mail.AuthenticationFailedException异常,先用OutLook测试一下看能否进行正常的收发邮件,有时信箱如果是新注册的话,邮件的服务商默认刚注册的帐号是不能使用pop3的。例如163.com在我进行代码测试时,刚刚注册的帐号是没有权限使用该功能的,所以就会抛出上述的异常。