基于JavaMail的Java邮件发送
作者:Sparks_t 时间:2022-10-30 18:56:56
邮件绑定功能
【需求】
1、 用户注册时,输入邮箱
2、 通过Javamail技术,向用户邮箱发送一封祝贺邮件
1、javamail发送邮件
1.1、简介
什么是javamail?
1.2、工具类
首先从哪个邮箱发出邮件,所以得发送邮件账号支持 程序发送邮件
第一步:配置网易 开启客户端授权码
(1)授权码申请:
选中POP3/SMTP服务和IMAP/SMTP服务,点击开启,如果已开启,会显示关闭
授权码就是JAVA代码登录邮箱的密码:MQKFLKEKMUHOKVPS
第二步:在mail-demo01项目中,配置pom.xml 添加javamail的坐标。
<!-- 导入javamail的坐标 -->
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
第三步:根据需要,编辑发送邮件正文
步骤:
1 设置邮件发送的属性
2 设置主机地址
3 设置是否打开验证
4 创建链接
5 创建邮件
6 设置发送者
7 设置接受者
8 设置标题
9 设置正文
10 坐火箭
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMessage.RecipientType;
import java.util.Properties;
public class MailUtil {
public static String smtp_host = "smtp.163.com"; // 网易
public static String username = "222@163.com"; // 邮箱
public static String password = "q7w8e9a4s5d6"; // 授权码(登录邮箱-->设置-->邮箱安全设置-->客户端授权密码),这里不是邮箱的密码,切记!
public static String from = "222@163.com"; // 来源邮箱,使用当前账号
public static void sendMail(String to, String subject, String text) throws Exception {
// 1 准备发送邮件需要的参数
Properties props = new Properties();
// 设置主机地址 smtp.qq.com smtp.126.com smtp.163.com
props.put("mail.smtp.host", smtp_host);
// 是否打开验证:只能设置true,必须打开
props.put("mail.smtp.auth", true);
// 2 连接邮件服务器
Session session = Session.getDefaultInstance(props);
// 3 创建邮件信息
MimeMessage message = new MimeMessage(session);
// 4 设置发送者
InternetAddress fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
// 5 设置接收者
InternetAddress toAddress = new InternetAddress(to);
// to:直接接收者 cc:抄送 bcc暗送
message.setRecipient(RecipientType.TO, toAddress);
// 6 设置主题
message.setSubject(subject);
// 7 设置正文
message.setText(text);
// 设置HTML方式发送
//message.setContent(text, "text/html;charset=utf-8");
// 8 发送:坐火箭
Transport transport = session.getTransport("smtp");// 参数不能少,表示的是发送协议
// 登录邮箱,此处的密码是授权码
transport.connect(username, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
System.out.println("ok");
}
public static void main(String[] args) {
try {
MailUtil.sendMail("333@qq.com", "激活测试", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
}
1.3、工具类测试
使用main方法进行测试。
public static void main(String[] args) {
try {
MailUtil.sendMail("333@qq.com", "激活测试", "test");
} catch (Exception e) {
e.printStackTrace();
}
}
2、客户注册时,发送祝贺邮件
来源:https://blog.csdn.net/weixin_45752540/article/details/120684315
标签:Java,Mail,邮件
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
JAVA发送HTTP请求的多种方式详细总结
2021-06-15 14:43:48
java中lambda表达式简单用例
2023-11-24 23:17:52
一键清除maven仓库中下载失败的jar包的实现方法
2023-08-13 03:43:59
![](https://img.aspxhome.com/file/2023/4/58174_0s.png)
JavaEE7+Websockets+GlassFish4打造聊天室
2023-11-29 01:01:39
![](https://img.aspxhome.com/file/2023/6/60396_0s.jpg)
ElasticSearch添加索引代码实例解析
2023-11-21 03:41:04
![](https://img.aspxhome.com/file/2023/3/59543_0s.png)
Android Studio 多层级 Module 对 aar 引用问题解决方法
2023-08-06 19:41:27
![](https://img.aspxhome.com/file/2023/2/86762_0s.png)
java多次嵌套循环查询数据库导致代码中数据处理慢的解决
2023-10-28 22:17:50
Java代码实现循环队列的示例代码
2023-11-23 23:51:25
![](https://img.aspxhome.com/file/2023/7/59927_0s.jpg)
Java中的OkHttp使用教程
2023-08-10 19:30:59
在Java的Struts中判断是否调用AJAX及用拦截 器对其优化
2023-11-25 00:40:40
![](https://img.aspxhome.com/file/2023/0/59980_0s.png)
深入理解Java并发编程之ThreadLocal
2023-11-21 02:43:42
![](https://img.aspxhome.com/file/2023/8/59018_0s.jpg)
C# winfrom 模拟ftp文件管理实现代码
2023-07-15 16:29:48
详述IntelliJ IDEA插件的安装及使用方法(图解)
2023-11-26 04:45:06
![](https://img.aspxhome.com/file/2023/3/60313_0s.png)
Java及数据库对日期进行格式化方式
2023-08-23 12:27:52
![](https://img.aspxhome.com/file/2023/2/58462_0s.jpg)
使用Jackson反序列化遇到的问题及解决
2023-11-13 21:12:14
重温C# clr 笔记总结
2023-06-22 02:24:30
深入解析java中的locale
2023-11-09 18:14:20
详解MyBatis XML配置解析
2023-11-23 13:02:09
![](https://img.aspxhome.com/file/2023/7/59887_0s.png)
iOS WebView中使用webp格式图片的方法
2023-06-17 22:06:03
基于Mock测试Spring MVC接口过程解析
2023-11-27 12:04:30