网站建设工作流程html,网页升级访问更新中狼,中国城乡住房建设厅官网,wordpress 4.8上传漏洞目录 1、创建一个基本的SpringBoot项目#xff0c;pom文件导入发送邮件的依赖 2、application.yml 文件配置配置邮件发送信息 3、创建IEmailService 接口文件#xff0c;定义邮件发送的接口 4、创建IEmailService接口的实现类EmailService.java 文件 5、新建邮件发送模板 ema… 目录 1、创建一个基本的SpringBoot项目pom文件导入发送邮件的依赖 2、application.yml 文件配置配置邮件发送信息 3、创建IEmailService 接口文件定义邮件发送的接口 4、创建IEmailService接口的实现类EmailService.java 文件 5、新建邮件发送模板 email.html 6、新建测试类主要代码如下 7、效果截图 邮件发送功能基本是每个完整业务系统要集成的功能之一今天小编给大家介绍一下SpringBoot实现邮件发送功能希望对大家能有所帮助 今天主要给大家分享简单邮件发送、HTML邮件发送、包含附件的邮件发送三个例子具体源码链接在文章末尾有需要的朋友可以自己下载学习一下。 1、创建一个基本的SpringBoot项目pom文件导入发送邮件的依赖 !--邮件发送依赖包--
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-mail/artifactId
/dependency
!--freemarker制作Html邮件模板依赖包--
dependency
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-starter-freemarker/artifactId
/dependency 2、application.yml 文件配置配置邮件发送信息 spring:
mail:
host: smtp.qq.com
username: xxxqq.com #发件人邮箱
password: xxxxx #授权码
protocol: smtp
properties.mail.smtp.auth:true
properties.mail.smtp.port:465#发件邮箱端口
properties.mail.display.sendmail: xiaoMing
properties.mail.display.sendname: xiaoming
properties.mail.smtp.starttls.enable:true
properties.mail.smtp.starttls.required:true
properties.mail.smtp.ssl.enable:true#是否启用ssl
default-encoding: utf-8#编码格式
freemarker:
cache:false
settings:
classic_compatible:true
suffix: .html
charset: UTF-8
template-loader-path: classpath:/templates/ 3、创建IEmailService 接口文件定义邮件发送的接口 package com.springboot.email.email.service;import javax.mail.MessagingException;
import java.util.List;public interface IEmailService {/*** 发送简单文本邮件*/void sendSimpleMail(String receiveEmail, String subject, String content);/*** 发送HTML格式的邮件*/void sendHtmlMail(String receiveEmail, String subject, String emailContent) throws MessagingException;/*** 发送包含附件的邮件*/void sendAttachmentsMail(String receiveEmail, String subject, String emailContent, ListString filePathList) throws MessagingException;
} 4、创建IEmailService接口的实现类EmailService.java 文件 package com.springboot.email.email.service.impl;import com.springboot.email.email.service.IEmailService;
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;import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;
import java.util.List;
Service
public class EmailServiceImpl implements IEmailService {Resourceprivate JavaMailSender mailSender;Value(${spring.mail.username})private String fromEmail;/*** 发送简单文本邮件*/public void sendSimpleMail(String receiveEmail, String subject, String content) {SimpleMailMessage message new SimpleMailMessage();message.setFrom(fromEmail);message.setTo(receiveEmail);message.setSubject(subject);message.setText(content);mailSender.send(message);}/*** 发送Html格式的邮件*/public void sendHtmlMail(String receiveEmail,String subject,String emailContent) throws MessagingException{init(receiveEmail, subject, emailContent, mailSender, fromEmail);}public static void init(String receiveEmail, String subject, String emailContent, JavaMailSender mailSender, String fromEmail) throws MessagingException {MimeMessage message mailSender.createMimeMessage();MimeMessageHelper helpernew MimeMessageHelper(message,true);helper.setFrom(fromEmail);helper.setTo(receiveEmail);helper.setSubject(subject);helper.setText(emailContent,true);mailSender.send(message);}/*** 发送包含附件的邮件*/public void sendAttachmentsMail(String receiveEmail, String subject, String emailContent, ListString filePathList) throws MessagingException {MimeMessage message mailSender.createMimeMessage();//带附件第二个参数trueMimeMessageHelper helper new MimeMessageHelper(message, true);helper.setFrom(fromEmail);helper.setTo(receiveEmail);helper.setSubject(subject);helper.setText(emailContent, true);//添加附件资源for (String item : filePathList) {FileSystemResource file new FileSystemResource(new File(item));String fileName item.substring(item.lastIndexOf(File.separator));helper.addAttachment(fileName, file);}//发送邮件mailSender.send(message);}
} 5、新建邮件发送模板 email.html !DOCTYPE html
html
head langenmeta charsetUTF-8/title/titlestyletd {border: black 1px solid;}/style
/head
body
h1工资条/h1
table styleborder: black 1px solid;width: 750pxtheadtd序号/tdtd姓名/tdtd基本工资/tdtd在职天数/tdtd奖金/tdtd社保/tdtd个税/tdtd实际工资/td/theadtbodytrtd${salary.index}/tdtd${salary.name}/tdtd${salary.baseSalary}/tdtd${salary.inDays}/tdtd${salary.reward}/tdtd${salary.socialSecurity}/tdtd${salary.tax}/tdtd${salary.actSalary}/td/tr/tbody
/table
/body
/html 6、新建测试类主要代码如下 /*** 测试简单文本文件*/
Test
public void EmailTest() {emailService.sendSimpleMail(hgmyzoutlook.com, 测试邮件, springboot 邮件测试);
}Test
public void HtmlEmailTest() throws MessagingException {String receiveEmail hgmyzoutlook.com;String subject Spring Boot 发送Html邮件测试;String emailContent h2您好/h2p这里是一封Spring Boot 发送的邮件祝您天天开心img srchttps://p3.toutiaoimg.com/origin/tos-cn-i-qvj2lq49k0/a43f0608912a4ecfa182084e397e4b81?frompc width500 height300 //p a hrefhttps://programmerblog.xyz titleIT技术分享设社区 targer_blankIT技术分享设社区/a;emailService.sendHtmlMail(receiveEmail, subject, emailContent);
}Test
public void templateEmailTest() throws IOException, TemplateException, MessagingException {String receiveEmail hgmyzoutlook.com;String subject Spring Boot 发送Templete邮件测试;//添加动态数据替换模板里面的占位符SalaryVO salaryVO new SalaryVO(1, 小明, 2, 9000.00, 350.06, 280.05, 350.00, 7806.00);Template template freeMarkerConfigurer.getConfiguration().getTemplate(email.html);//将模板文件及数据渲染完成之后转换为html字符串MapString, Object model new HashMap();model.put(salary, salaryVO);String templateHtml FreeMarkerTemplateUtils.processTemplateIntoString(template, model);emailService.sendHtmlMail(receiveEmail, subject, templateHtml);
}Test
public void emailContailAttachmentTest() throws IOException, TemplateException, MessagingException {String receiveEmail hgmyzoutlook.com;String subject Spring Boot 发送包含附件的邮件测试;//添加动态数据替换模板里面的占位符SalaryVO salaryVO new SalaryVO(1, 小王, 2, 9000.00, 350.06, 280.05, 350.00, 7806.00);Template template freeMarkerConfigurer.getConfiguration().getTemplate(email.html);//将模板文件及数据渲染完成之后转换为html字符串MapString, Object model new HashMap();model.put(salary, salaryVO);String templateHtml FreeMarkerTemplateUtils.processTemplateIntoString(template, model);ListString fileList new ArrayList();fileList.add(F:\\邮件测试.docx);fileList.add(F:\\5.png);fileList.add(F:\\db.jpg);emailService.sendAttachmentsMail(receiveEmail, subject, templateHtml, fileList);
} 7、效果截图 简单文版邮件 html文件 包含附件的邮件 Gitee地址https://gitee.com/hgm1989/springboot-email.git