构架工程

创建一个springboot工程,在其pom文件加入:

1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>

  

添加配置

1
2
3
4
5
6
spring.mail.host=smtp.163.com
spring.mail.username=miles02@163.com
spring.mail.password=
spring.mail.port=25
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8

  

在password 中填写自己的邮箱密码。

测试发邮件

测试代码清单如下:

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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
package com.forezp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;
import javax.mail.internet.MimeMessage;
import java.io.File;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringbootJmsApplicationTests {
@Test
public void contextLoads() {
}
@Autowired
private JavaMailSenderImpl mailSender;
/**
* 发送包含简单文本的邮件
*/
@Test
public void sendTxtMail() {
SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
// 设置收件人,寄件人
simpleMailMessage.setTo(new String[] {"miles02@163.com"});
simpleMailMessage.setFrom("miles02@163.com");
simpleMailMessage.setSubject("Spring Boot Mail 邮件测试【文本】");
simpleMailMessage.setText("这里是一段简单文本。");
// 发送邮件
mailSender.send(simpleMailMessage);
System.out.println("邮件已发送");
}
/**
* 发送包含HTML文本的邮件
* @throws Exception
*/
@Test
public void sendHtmlMail() throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage);
mimeMessageHelper.setTo("miles02@163.com");
mimeMessageHelper.setFrom("miles02@163.com");
mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【HTML】");
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head>");
sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>");
sb.append("</html>");
// 启用html
mimeMessageHelper.setText(sb.toString(), true);
// 发送邮件
mailSender.send(mimeMessage);
System.out.println("邮件已发送");
}
/**
* 发送包含内嵌图片的邮件
* @throws Exception
*/
@Test
public void sendAttachedImageMail() throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
// multipart模式
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);
mimeMessageHelper.setTo("miles02@163.com");
mimeMessageHelper.setFrom("miles02@163.com");
mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【图片】");
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head>");
sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p>");
// cid为固定写法,imageId指定一个标识
sb.append("<img src=\"cid:imageId\"/></body>");
sb.append("</html>");
// 启用html
mimeMessageHelper.setText(sb.toString(), true);
// 设置imageId
FileSystemResource img = new FileSystemResource(new File("E:/1.jpg"));
mimeMessageHelper.addInline("imageId", img);
// 发送邮件
mailSender.send(mimeMessage);
System.out.println("邮件已发送");
}
/**
* 发送包含附件的邮件
* @throws Exception
*/
@Test
public void sendAttendedFileMail() throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
// multipart模式
MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true, "utf-8");
mimeMessageHelper.setTo("miles02@163.com");
mimeMessageHelper.setFrom("miles02@163.com");
mimeMessageHelper.setSubject("Spring Boot Mail 邮件测试【附件】");
StringBuilder sb = new StringBuilder();
sb.append("<html><head></head>");
sb.append("<body><h1>spring 邮件测试</h1><p>hello!this is spring mail test。</p></body>");
sb.append("</html>");
// 启用html
mimeMessageHelper.setText(sb.toString(), true);
// 设置附件
FileSystemResource img = new FileSystemResource(new File("E:/1.jpg"));
mimeMessageHelper.addAttachment("image.jpg", img);
// 发送邮件
mailSender.send(mimeMessage);
System.out.println("邮件已发送");
}
}

  

架构代码如下:

资料和源码来源地址

Spring Cloud大型企业分布式微服务云架构源码请加企鹅求求:一七九一七四三三八零

转载于:https://juejin.im/post/5c8f55c3f265da612524a49a

企业级java b2bc商城系统开源源码二次开发(二十一)springboot集成JMS相关推荐

  1. 企业级java springcloud b2bc商城系统开源源码二次开发-负载均衡策略...

    简单轮询负载均衡 以轮询的方式依次将请求调度不同的服务器,即每次调度执行i=(i+1) mod n 文章来源 JAVA ssm b2b2c多用户商城系统源码 随机负载均衡 随机选择状态为UP的serv ...

  2. 企业级java springcloud b2bc商城系统开源源码二次开发-hystrix 请求缓存

    hystrix支持将一个请求结果缓存起来,下一个具有相同key的请求将直接从缓存中取出结果,减少请求开销.要使用该功能必须管理HystrixRequestContext,如果请求B要用到请求A的结果缓 ...

  3. 企业级java springboot b2bc商城系统开源源码二次开发-(四)断路器(Hystrix)

    在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...

  4. (十二)企业级java springcloud b2bc商城系统开源源码二次开发-断路器监控(Hystrix Dashboard)...

    一.Hystrix Dashboard简介 在微服务架构中为例保证程序的可用性,防止程序出错导致网络阻塞,出现了断路器模型.断路器的状况反应了一个程序的可用性和健壮性,它是一个重要指标.Hystrix ...

  5. 企业级java springboot b2bc商城系统开源源码二次开发-云架构代码结构构建(五)...

    上一篇介绍了<整合spring cloud云服务架构 - 企业分布式微服务云架构图>,本篇我们根据架构图进行代码的构建.根据微服务化设计思想,结合spring cloud一些优秀的项目,如 ...

  6. 计算机毕业设计JAVA汽车商城系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA汽车商城系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA汽车商城系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目架构:B ...

  7. 2022全球20多款知名的Android刷机ROM镜像和Android系统开源源码(覆盖全球机型)

    推荐阅读 ​Android10系统定制|frida逆向分析实战课程 2022全球20多款知名的Android刷机ROM镜像和Android系统开源源码(覆盖全球机型) 因此,您拥有一台Android设 ...

  8. php抽奖系统开源源码 php微信抽奖系统源码 后台可设置奖品

    介绍: 微信抽奖系统源码是一个以php+MySQL进行开发的手机抽奖系统源码.用途:适合做推广营销.直播.粉丝抽奖. 功能介绍: 1.后台可以设置每个抽奖用户的抽奖次数,后台添加设置奖品,适和企业和商 ...

  9. YunCharge充电桩系统开源源码,配套设备+小程序直接商用落地

    介绍 作为一家专注于智能充电桩系统的公司,我们一直秉承着"质量第一.用户至上"的原则,注重产品的品质和服务的质量,不断追求创新和进步,为客户提供优质的产品和服务. 如果您正在寻找一 ...

最新文章

  1. python实现字符串切片
  2. 【opencv】15.H265Decoder解码h265为cv::Mat完整代码
  3. Segment,Path,Ring和Polyline对象
  4. jdk并发包里常用的类
  5. python udp编程_Python UDP编程小示例
  6. cmake命令的python库的位置参数-DTORCH_PATH
  7. 安卓蓝牙键盘切换输入法_Windows10添加中文美式键盘,传统语言栏,采用ctrl+shift切换输入法...
  8. Flutter自定义布局套路
  9. HDOJ 4223 (DP)
  10. AO如何获取SDE数据库中的数据
  11. 黑马程序员 python 数据分析 代码_2020年最新版 5.0程序员 黑马python人工智能数据分析机器学习软件测试全栈开发...
  12. 网站关键词选择的四大步骤
  13. 输入框字母自动转换大写
  14. Redis开启远程访问
  15. 红帽 Linux Redhat6.4安装MySQL 5.1
  16. 少儿重疾险排名的选择与注意事项
  17. 名片 - 名片设计的比例
  18. 实用项目管理-干系人管理
  19. 云计算基础概念——Iaas、PaaS、SaaS
  20. Python 取模运算(取余)%误区及详解

热门文章

  1. linux lua ide,mac os上开发lua用什么ide
  2. python 结束进程 terminate_python – 如果已存在浏览器窗口,则process.terminate()不适用于chrome / firefox子进程...
  3. python互斥锁_Python多线程如何使用互斥锁
  4. 嵌入式开发 ---必看图书
  5. mysql show作用_MySQL show的用法
  6. grafana模板_EMQ X + InfluxDB + Grafana:物联网数据监控可视化方案
  7. linux回到桌面的命令符_Linux命令行环境与桌面环境护切换
  8. Android第十五课 Jni自带的iconv库不支持GBK转码
  9. Java延迟加载建议
  10. 查出引起死锁的进程和SQL语句