1.前言
邮件发送原理
邮件传输协议:SMTP协议和POP3协议
内容不断发展:IMAP协议和Mime协议
邮件收发流程
SpringBoot简介
1.约定大于配置
2.简单快速开发
3.强大生态链
2.AiMail邮件发送服务
开发流程
服务规划图
接口和结构定义
send接口参数
{
"to" : "liyulei6@163.com", //收件人
"type" : 0",// 0 普通文本邮件,1 HTML邮件,2 模板邮件,3 图片邮件,4 附件邮件
"subject" : "Study", //主题
"content" : "Hello World", //内容
"filePath" : "/Users/1.jpg", //附件地址,非必须
"rscPath" : "/Users/1.jpg", //图片地址,非必须
"rscId" : 1, //图片ID,非必须
}
response
{
"succese","2019.03.29 10:31 liyulei6@163.com Study Hello World"
}
{
"error","2019.03.29 10:31 connection refused connect"
}
3.定时读取指定文件发送
因为工作需要,需要每日读取代码覆盖率统计文件发送至指定邮箱,所以基于AiMailServer又写了个小Demo,用io流读取文件内容,用@Scheduled(cron="*/5 * * * * ?")
注解做定时任务,用AiMailServer做发送操作。
另外基于SpringBootAdmin 构建了AdminUI做图形化监控,如下:
4.总结
在使用传统的Spring去做Java EE(Java Enterprise Edition)开发中,大量的 XML 文件存在于项目之中,导致JavaEE项目变得慢慢笨重起来,,繁琐的配置和整合第三方框架的配置,导致了开发和部署效率的降低。
Spring Boot 并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring 开发者体验的工具。同时它集成了大量常用的第三方库配置,Spring Boot应用中这些第三方库几乎可以是零配置的开箱即用(out-of-the-box),大部分的 Spring Boot 应用都只需要非常少量的配置代码(基于 Java 的配置),开发者能够更加专注于业务逻辑。
微服务是未来发展的趋势,项目会从传统架构慢慢转向微服务架构,因为微服务可以使不同的团队专注于更小范围的工作职责、使用独立的技术、更安全更频繁地部署。而 继承了 Spring 的优良特性,与 Spring 一脉相承,而且 支持各种REST API 的实现方式。Spring Boot 也是官方大力推荐的技术,可以看出,Spring Boot 是未来发展的一个大趋势。
在整个项目的开发过程中,加深了自己对SpringBoot的熟悉程度,对微服务有了更好的了解。
项目源码:
https://github.com/lyl786275389/AiMailServer(复制粘贴打开)