虽然使用JSP实现邮件发送功能很简单,但是需要有JavaMail API,并且需要安装JavaBean Activation Framework。我们可以通过以下链接来下载:
下载并解压这些文件,在根目录下,我们将会看到一系列jar包。将mail.jar包和activation.jar包加入CLASSPATH变量中。
完事我们就来尝试发送一封简单的邮件,来看下代码:
<%@ page import="java.io.*,java.util.*,javax.mail.*"%>
<%@ page import="javax.mail.internet.*,javax.activation.*"%>
<%@ page import="javax.servlet.http.*,javax.servlet.*" %>
<%
String to = "18101301805@163.com";// 收件人的电子邮件
String from = "18101301805@163.com";// 发件人的电子邮件
String host = "smtp.163.com";// 邮件服务器
String username = "18101301805@163.com";// 使用的邮箱账号
String password = "luyaran20131419";// 使用的邮箱授权码
Properties properties = System.getProperties();// 获取系统属性对象
properties.setProperty("mail.smtp.host", host);// 设置邮件服务器
properties.put("mail.smtp.auth", "true");// 开启邮件服务器验证
Session mailSession = Session.getDefaultInstance(properties);// 获取默认的Session对象。
MimeMessage message = new MimeMessage(mailSession); // 创建一个默认的MimeMessage对象。
message.setFrom(new InternetAddress(from)); // 设置 From: 头部的header字段
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to)); // 设置 To: 头部的header字段
message.setSubject("This is the Subject Line!"); // 设置 Subject: header字段
message.setText("This is actual message"); // 现在设置的实际消息
Transport transport = mailSession.getTransport("smtp"); // 开始验证
transport.connect(host, username, password);//链接邮件服务器
transport.sendMessage(message, message.getAllRecipients());//发送邮件
transport.close();//关闭链接
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
</body>
</html>
如果想要把邮件发送给多人,下面列出的方法可以用来指明多个邮箱地址:
void addRecipients(Message.RecipientType type,
Address[] addresses)
throws MessagingException
上述代码的参数描述如下:
- type:这个值将会被设置成TO,CC,或BCC。CC代表副本,BCC代表黑色副本,例子程序中使用的是TO。
- addresses:这是一个邮箱地址的数组,当指定邮箱地址时需要使用InternetAddress()方法。
好啦,还有其他格式的咱就不一一赘述了。
如果感觉不错的话,请多多点赞支持哦。。。