1.maven依赖

<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jz</groupId><artifactId>mail-project</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.1.RELEASE</version></parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version></properties><dependencies><!--定时任务和@Slf4j注解日志的依赖 --><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--邮件发送 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId><version>2.1.3.RELEASE</version><type>pom</type></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration> <!--设置程序执行的主类 --><mainClass>com.jz.ApplicationRun</mainClass></configuration></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skip>true</skip></configuration></plugin></plugins><finalName>test-log</finalName></build></project>

2.application.properties配置

#==================================
# servlet 相关配置
#----------------------------------
# 设置项目路径。默认是“/”
#server.servlet.context-path=/api
server.port=8888spring.mail.host=smtp.qq.com
spring.mail.username=你的邮箱,这里QQ
spring.mail.password=申请的授权码
spring.mail.default-encoding=UTF-8

QQ邮箱都有,问题是怎么成为开发可以使用的,这里有一个百度经验,还是很简洁明了的,地址:https://jingyan.baidu.com/article/6d704a133a245f28db51caf5.html

3. 关键代码

3.1 HelloService

package cn.xdl.service;import java.io.File;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;@Service
public class HelloService {@Value("${spring.mail.username}")private String from;@Autowiredprivate JavaMailSender mailSender;public void sayHello() {System.out.println("Hello World");}/*** 发送文本邮件* @param to* @param subject* @param content*/public void sendSimpleMail(String to,String subject,String content) {SimpleMailMessage message = new SimpleMailMessage();message.setTo(to);message.setSubject(subject);message.setText(content);message.setFrom(from);mailSender.send(message);}/*** 发送html邮件* @param to* @param subject* @param content* @throws Exception*/public void sendHtmlMail(String to,String subject,String content) throws Exception {MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);helper.setFrom(from);mailSender.send(message);}/*** 发送带附件邮件* @param to* @param subject* @param content* @param filePath* @throws Exception*/public void sendAttachmentMail(String to,String subject,String content,String filePath) throws Exception {MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true);helper.setFrom(from);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);FileSystemResource fileSystemResource = new FileSystemResource(new File(filePath));String fileName = fileSystemResource.getFilename();helper.addAttachment(fileName, fileSystemResource);helper.addAttachment(fileName+"_test", fileSystemResource);mailSender.send(message);}/*** 发送带图片邮件* @param to* @param subject* @param content* @param rscPath* @param rscId* @throws MessagingException*/public void sendInlineResourceMail(String to,String subject,String content,String rscPath,String rscId) throws MessagingException {MimeMessage message = mailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true);helper.setTo(to);helper.setSubject(subject);helper.setText(content,true);helper.setFrom(from);FileSystemResource res = new FileSystemResource(new File(rscPath));helper.addInline(rscId, res);mailSender.send(message);}}

3.2 ApplicationRun

package cn.xdl;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class ApplicationRun {public static void main(String[] args) {SpringApplication.run(ApplicationRun.class, args);}
}

3.3 测试程序

package cn.xdl.test;import javax.mail.MessagingException;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.test.context.junit4.SpringRunner;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;import cn.xdl.service.HelloService;@RunWith(SpringRunner.class)
@SpringBootTest
public class TestC {@Autowiredprivate HelloService helloService;@Autowiredprivate TemplateEngine templateEngine;@Testpublic void testHello() {helloService.sayHello();}@Testpublic void sendSimpleMailTest() {String str = "曾经先后在互联网金融、第三方支付公司担任高级 Java 工程师、架构师、技术经理、技"+ "术负责人等职务。在互联网金融工作期间,从零参与公司技术平台建设,组织平台进行过四次大架"+ "构升级。目前在一家第三方支付公司做技术总监,负责支付公司微服务架构实践和大数据平台建设。";helloService.sendSimpleMail("mail_test416@163.com", "这是第一封邮件",str);}@Testpublic void sendHtmlMailTest() {String str = "<html lang=\"en\">\r\n" + " <head>\r\n" + " </head>\r\n" + " <body>\r\n" + " <h3>Java并发编程高阶技术-高性能并发框架源码解析与实战</h3>\r\n" + " </body>\r\n" + "</html>";try {helloService.sendHtmlMail("mail_test416@163.com", "Spring Boot 发送邮件", str);} catch (Exception e) {e.printStackTrace();};}@Testpublic void sendFileMailTest() {String str = "为了您能及时收到会员专属信息,请将  vip@dailydeals.vip.com加入您的邮件地址列表";try {helloService.sendAttachmentMail("mail_test416@163.com", "POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务", str, "D:\\Images/1.jpg");} catch (Exception e) {e.printStackTrace();}}@Testpublic void sendInLineResourceMailTest() {String rscPath = "D:/Images/1.jpg";String rscId = "neo001";String content = "<html lang=\"en\">\r\n" + " <head>\r\n" + " </head>\r\n" + " <body>\r\n" + " <h3>Java并发编程高阶技术-高性能并发框架源码解析与实战</h3>\r\n" + "<img src='cid:"+rscId+"'/>"+" </body>\r\n" + "</html>";String to = "mail_test416@163.com";String subject = "慕课网_来慕课网学前端框架_上班族提升必备2222222222222";try {helloService.sendInlineResourceMail(to, subject, content, rscPath, rscId);} catch (MessagingException e) {e.printStackTrace();}}@Testpublic void testTemplateMailTest() {Context context = new Context();context.setVariable("id", "007");String emailContent = templateEngine.process("emailTemplate", context);String to = "mail_test416@163.com";String subject = "文明交流互鉴推动构建人类命运共同体";try {helloService.sendHtmlMail(to, subject, emailContent);} catch (Exception e) {e.printStackTrace();}}
}

3.4 发送结果成功图


比较忙,等闲暇会将源码发布上来,目前需要源码的可以评论留邮箱,或者发我邮箱讲明要源码,我是Eclipse开发的。邮箱:liurui416@qq.com
有不对的地方欢迎指正!!!
个人反感收费积分,但另一方面必须尊重知识产权,有积分的可以下载,没有的可以私我邮箱,下载地址:https://download.csdn.net/download/liurui50/11071712

SpringBoot邮件发送-maven项目(禁止水贴001)相关推荐

  1. spring-boot邮件发送功能演示(163邮箱与QQ邮箱互发)

    背景:使用 Spring Boot 发送邮件,演示的邮箱为 163邮箱与QQ邮箱,两者可以实现互发邮件. 问题:自己可以实现一下 QQ邮箱 发 QQ邮箱,163发163,是什么样的. 演示 :163 ...

  2. SpringBoot邮件发送(抄送、密送、图片、多文件等一应俱全哦)

    人生若只如初见,何事秋风悲画扇. 下班回去听到室友讲到他们项目正在写一个邮件发送,突然手痒写此功能,后来总结形成该文,希望对大家有帮助! 本文非常详细且实用,是不是干货你说了算! 所用:springb ...

  3. springboot邮件发送 端口587/465不同配置

    Spring Boot教程(26) – 如何发送邮件 - 知乎 大体上来说,发送的方式有两种,一种是使用SMTP协议,连上SMTP服务器发送邮件,一种是使用第三方的邮件发送服务,调调API就行.我们先 ...

  4. springboot邮件发送以及thyemleaf生成邮件模板

    一.基础知识 邮件常见的三大协议:SMTP.POP3.IMAP SMTP 是一个基于 TCP/IP 的应用层协议,江湖地位有点类似于 HTTP,SMTP 服务器默认监听的端口号为 25 .由于SMTP ...

  5. SpringBoot ~ 邮件发送

    添加pom依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>s ...

  6. SpringBoot邮件发送(QQ邮箱)

    1,导入mail依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId&g ...

  7. jenkins pipeline、用户权限管理、插件下载地址更改、凭证管理、自由风格项目构建、maven项目构建、常用的构建触发器、邮件发送、SonarQube代码审查

    CI持续集成流程 pipeline jenkins安装pipeline插件: 简单使用: 查看流水线语法: 片段生成器: 2.0以后推荐使用声明式语法:右侧下拉框是一些步骤,都可以自动生成 Decla ...

  8. Springboot实现邮件发送(2020最新版)

    在正式讲解如何用Springboot发送邮件之前,先普及四个容易忽视的概念(好多教程直接忽略介绍): 1.邮件协议,简单理解下:小明给小红发了一封邮件,指的是小明登录邮箱客户端(比如通过浏览器登录QQ ...

  9. Java项目:在线嘿嘿网盘系统设计和实现(java+Springboot+ssm+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能:用户的邮箱注册.验证码验证以及用户登录. 不需要注册账号,也可以上传满足条件的临时文件,但是 只4小时内有效. 文件的管 ...

最新文章

  1. 《attention is all you need》解读
  2. java win8 mac地址_Win8怎么查看MAC地址_Win8查看电脑MAC地址方法-192路由网
  3. 一起探讨NLP的边界和未来,学术界与工业界在“语言与智能高峰论坛”上擦出火花...
  4. ijkplayer支持h264
  5. [YTU]_1032( 统计出其中英文字母、数字、空格和其他字符的个数)
  6. FastReport.net 使用记录
  7. 【转载】关联分析中的支持度、置信度和提升度
  8. 2019.08.27BOM的六个子对象(1)
  9. java socket聊天_java_基于Java Socket实现一个简易在线聊天功能(一),最近做了一个项目,其中有一 - phpStudy...
  10. DeepMatch交友机器人:原来姹紫嫣红开遍,缘来就是你
  11. web项目中镶嵌player
  12. 抖音订单捉取-php
  13. 计算文件的md5值(Vue)
  14. 盘点!电价市场化改革后,数据中心电费涨了多少?
  15. Python:WIN10解决matplotlib画图中显示中文宋体英文TimesNewRoman问题
  16. web全栈工程师(前端进阶)学习线路图
  17. exlc表格怎么换行_excel怎么换行 excel表格内如何换行
  18. 增加内容曝光、获得更多粉丝 - 「评论发红包」功能
  19. beetl if else 报 语法 错误。。。。
  20. python学生成绩管理系统【完整版】

热门文章

  1. 电动汽车车载充电机 (OBC) 与车载 DC/DC 转换器技术
  2. 【Hadoop】Hadoop正常启动,但是网页打不开
  3. 2022年最新安卓大厂面试笔试题分享,Android进阶
  4. JS在拼接字符串中加入空格
  5. 数据标注平台哪家好?
  6. 几个好玩的在线编程网站
  7. Ansys-静力学分析-内六角扳手学习心得
  8. mmdetection多卡训练中报警告semaphore_tracker: There appear to be 14 leaked semaphores to clean up at shutdow
  9. SUN,UNIX和微软的避孕套
  10. R语言使用as.Date函数把dataframe中的多个数据列(multiple columns)从字符串转化到日期类型