网站首页 > java教程 正文
环境:SpringBoot2.3.9.RELEASE + QQ邮箱 + JDK8
- QQ邮箱开启SMTP
进入设置---》帐户
开启功能
生成授权码
这里的授权码用于配置邮件服务的密码。
- 应用配置
spring:
mail:
host: smtp.qq.com
port: 465
default-encoding: UTF-8
username: xxxx@qq.com
password: xxxxx #这里是上一步生成的授权码
properties:
mail.smtp.ssl.enable: true #开启SSl
mail.smtp.connectiontimeout: 5000
mail.debug: true #调试模式,这样在发送邮件时会输出详细信息
这里properties支持如下属性(smtp)
- 简单邮件
@Resource
private JavaMailSender sender ;
@Test
public void testSimpleMailSend() {
// 构建一个邮件对象
SimpleMailMessage message = new SimpleMailMessage();
// 设置邮件主题
message.setSubject("测试邮件");
// 设置邮件发送者,这个跟application.yml中设置的要一致
message.setFrom("123456@qq.com");
// 设置邮件接收者,可以有多个接收者,中间用逗号隔开,以下类似
message.setTo("123456@qq.com");
// 设置邮件抄送人,可以有多个抄送人
message.setCc("76007509@qq.com");
// 设置隐秘抄送人,可以有多个
message.setBcc("123456@qq.com");
// 设置邮件发送日期
message.setSentDate(new Date());
// 设置邮件的正文
message.setText("这是简单的邮件");
// 发送邮件
sender.send(message);
}
测试:
控制台输出了详细信息,同时收到了邮件。
- 带附件的邮件
@Test
public void testSendAttachMail() throws Exception {
MimeMessage mimeMessage = sender.createMimeMessage();
// true表示构建一个可以带附件的邮件对象
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("有附件的邮件");
helper.setFrom("123456@qq.com");
helper.setTo("123456@qq.com");
helper.setSentDate(new Date());
helper.setText("我有附件");
helper.addAttachment("JavaMail规范文档", new File("D:\\java\\opensource\\javamail\\JavaMail-1.6.pdf"));
sender.send(mimeMessage);
}
控制台
带附件的邮件发送时,最好吧debug关闭,不然控制台一直输出内容,比较慢。
- 带图片的邮件
@Test
public void testSendImageMail() throws Exception {
MimeMessage mimeMessage = sender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setSubject("带图片的邮件");
helper.setFrom("348792955@qq.com");
helper.setTo("348792955@qq.com");
helper.setSentDate(new Date());
// src='cid:p01' 占位符写法 ,第二个参数true表示这是一个html文本
helper.setText("<p>这封邮件包含两种图片,"
+ "分别如下</p><p>第一张图片:</p><img src='cid:p01'/><p>第二张图片:</p><img src='cid:p02'/>", true);
// 第一个参数指的是html中占位符的名字,第二个参数就是文件的位置
helper.addInline("p01",new FileSystemResource(new File("D:\\images\\1.jpg")));
helper.addInline("p02",new FileSystemResource(new File("D:\\images\\2.jpg")));
sender.send(mimeMessage);
}
完毕!!!
猜你喜欢
- 2024-09-14 SpringBoot发送简单文本邮件(springboot 发送邮件)
- 2024-09-14 Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码
- 2024-09-14 Java定时发送Email(带Excel附件)(java怎么实现定时任务)
- 2024-09-14 Spring Boot 邮件发送的 5 种姿势
- 2024-09-14 SpringBoot优雅地发送邮件(springboot发送邮件的步骤)
- 2024-09-14 Spring boot 发送邮件及原理(springboot发送outlook邮件)
- 2024-09-14 10分钟搞定Java实现邮箱验证,坦率讲,别被他人割韭菜
- 2024-09-14 25、springboot发送邮件(springboot email)
- 2024-09-14 使用spring boot 发送邮件(springboot发送outlook邮件)
- 2024-09-14 SpringBoot整合JavaMail发送邮件(springboot email)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)