07-JSP 发送邮件

使用本站提供的下载链接:

下载完成后将包导入项目的 lib 中。

JSP 通过发送邮件正文+附件:

163邮箱增加了图片点字验证,验证处理需要单独再处理该案例才可用,其他流程OK。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
<%--163邮箱发送带有附件的邮件到qq邮箱--%>

<%@ page import="java.util.*" %>
<%@ page import="javax.mail.*" %>
<%@ page import="javax.mail.internet.*" %>
<%@ page import="javax.activation.*" %>
<%
String result;
// 收件人的电子邮件
String to = "username1@qq.com";

// 发件人的电子邮件名和密碼
String from = "username2@163.com";
String pwd = "yourpassword";
//设置用户名
String usr = "Jerry";

Properties properties = new Properties();

try {
// 设置用户的认证方式
properties.setProperty("mail.smtp.auth", "true");
//设置传输协议
properties.setProperty("mail.transport.protocol", "smtp");
//SMTP邮件服务器
properties.setProperty("mail.smtp.host", "smtp.163.com");
//SMTP邮件服务器默认端口
properties.setProperty("mail.smtp.port", "25");

// 获取默认的Session对象。
Session mailSession = Session.getDefaultInstance(properties);

// 创建一个默认的MimeMessage对象。
Message message = new MimeMessage(mailSession);
// 根据session对象获取邮件传输对象Transport
Transport transport = mailSession.getTransport();

// 设置 From: 头部的header字段
message.setFrom(new InternetAddress(from));
// 设置 To: 头部的header字段
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
// 设置 Subject: header字段
message.setSubject("This is the Subject Line!");

// 现在设置的实际消息
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText("This is message body");
Multipart multipart = new MimeMultipart();
multipart.addBodyPart(messageBodyPart);

messageBodyPart = new MimeBodyPart();
//使用绝对路径
String filename = "E:\\JavaNote\\00_Tools\\04_Web\\javaMail_jar\\mail.jar";
//添加文件到message
DataSource source = new FileDataSource(filename);

messageBodyPart.setDataHandler(new DataHandler(source));
messageBodyPart.setFileName(filename);

multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
message.setSentDate(new Date());

// 设置发件人的账户名和密码
transport.connect(usr, pwd);
// 发送邮件,并发送到所有收件人地址
// message.getAllRecipients() 获取到的是在创建邮件对象时添加的所有收件人, 抄送人, 密送人
transport.sendMessage(message, message.getAllRecipients());

result = "Sent message successfully....";
} catch (Exception e) {
e.printStackTrace();
result = "Error: unable to send message....";
}
%>
<html>
<head>
<title>Send Email using JSP</title>
</head>
<body>
<div style="text-align: center;">
<h1>Send Email using JSP</h1>
</div>
<p align="center">
<%
out.println("Result: " + result + "\n");
%>
</p>
</body>
</html>

07-JSP 发送邮件
https://janycode.github.io/2018/04/29/04_网页技术/05_JSP/07-JSP 发送邮件/
作者
Jerry(姜源)
发布于
2018年4月29日
许可协议