您的位置:首页 > 编程语言 > Java开发

用JSP发送EMAIL(JavaMail简易实现版)

2006-12-01 16:24 671 查看
 在这里可以下载JAVAMAIL包 http://java.sun.com/products/javamail/
在解压后,将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在我进行代码测试时,刚刚注册的帐号是没有权限使用该功能的,所以就会抛出上述的异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息