JSP 发送邮件学习笔记

介绍

JSP是JavaServer Pages的简称,是一种基于Java语言开发的动态Web页面技术。发送电子邮件也是Web应用程序中的一个重要功能,可以通过JSP来实现。

发送邮件的步骤

步骤一:导入JavaMail包

JavaMail API提供了一组用于发送和接收消息的类,必须在项目中引入JavaMail API jar包。可以从官网 https://java.net/projects/javamail/pages/Home 下载。

步骤二:配置SMTP服务器

在使用JavaMail发送邮件之前,需要配置SMTP服务器信息。SMTP是一种用于发送电子邮件的标准协议,可通过以下步骤进行配置:

javaCopy Code
// 配置SMTP服务器地址和端口号 String host = "smtp.xxx.com"; String port = "25"; // 设置用户名和密码 final String username = "yourEmail@xxx.com"; final String password = "password"; // 创建Properties实例,并设置SMTP服务器信息 Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", port); // 创建Authenticator对象,用于进行SMTP认证 Authenticator authenticator = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } };

步骤三:创建Message对象

创建Message对象并设置邮件的发送者、接收者、主题和内容等信息。

javaCopy Code
// 创建Session实例,用于与SMTP服务器交互 Session session = Session.getDefaultInstance(props, authenticator); // 创建Message对象 Message message = new MimeMessage(session); // 设置发送者和接收者 message.setFrom(new InternetAddress(username)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("receiverEmail@xxx.com")); // 设置主题 message.setSubject("测试邮件"); // 设置内容 String content = "这是一封测试邮件"; message.setText(content);

步骤四:发送邮件

调用Transport.send()方法将邮件发送出去。

javaCopy Code
// 发送邮件 Transport.send(message);

示例代码

下面是一段简单的JSP代码,演示如何使用JavaMail API发送邮件:

jspCopy Code
<%@ page contentType="text/html;charset=UTF-8" %> <%@ page import="javax.mail.*,javax.mail.internet.*" %> <% // 配置SMTP服务器地址和端口号 String host = "smtp.xxx.com"; String port = "25"; // 设置用户名和密码 final String username = "yourEmail@xxx.com"; final String password = "password"; // 创建Properties实例,并设置SMTP服务器信息 Properties props = new Properties(); props.put("mail.smtp.host", host); props.put("mail.smtp.auth", "true"); props.put("mail.smtp.port", port); // 创建Authenticator对象,用于进行SMTP认证 Authenticator authenticator = new Authenticator() { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(username, password); } }; // 创建Session实例,用于与SMTP服务器交互 Session session = Session.getDefaultInstance(props, authenticator); // 创建Message对象 Message message = new MimeMessage(session); // 设置发送者和接收者 message.setFrom(new InternetAddress(username)); message.setRecipients(Message.RecipientType.TO, InternetAddress.parse("receiverEmail@xxx.com")); // 设置主题 message.setSubject("测试邮件"); // 设置内容 String content = "这是一封测试邮件"; message.setText(content); // 发送邮件 Transport.send(message); %>

以上就是使用JSP发送邮件的基本步骤,可以根据实际需求进行定制和扩展。