本文由黑壳网发布
本文来源SpringBoot邮件发送以及嵌入Html样式 - 黑壳网http://blog.bhusk.com/articles/2017/12/17/1513491520120.html
壳叔搞笑一刻
昨晚我爸看电视,看到新闻里正在播习 大大设国 宴款待外 国 领 导人,我让爸别换台,我爸就问我: “闺女,你什么时候开始关心国家大事啦?”
这时候我妈对我爸说: “咱闺女是想看看,国 宴吃的是什么!”
还是我妈了解我啊!……
正文
最近要写一个页面申请的功能,但是为了壳叔比较懒工作也多,不可能每天都看。想在现有Springboot框架上加一个邮件功能,如果有信息可以邮件提醒我,反正看邮件是已经养成习惯了,成天收邮件,手机也会提醒。
spring提供了一个非常不错的JavaMailSender
实现发送邮件接口。在Spring Boot的Starter模块中也为此提供了自动化配置。具体实现方法也是非常的简单,接下来看下面的实实的干货。
项目代码
pom.xml文件 进行依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
特殊说明:springboot采用1.5.3版本,可能会引起一些
注解小问题
application.properties 添加 JavaMailSender 配置文件配置
spring.mail.host=mail.qiye.aliyun.com #smtp.163.com or smtp.qq.com 设置邮件服务主机
spring.mail.username=邮箱账户
spring.mail.password=邮箱密码
spring.mail.default-encoding=UTF-8 #设置默认编码
### 默认不建议修改
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=false
spring.mail.properties.mail.smtp.starttls.required=false
最最最关键的测试类代码
package com.bhusk.black;
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.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.test.context.junit4.SpringRunner;
import javax.mail.internet.MimeMessage;
import java.io.File;
/**
* Created by bhusk on 2017/12/17 10:29
*/
@RunWith(SpringRunner.class)
@SpringBootTest
public class ApplicationTests {
@Autowired
private JavaMailSender mailSender;
@Test
public void sendSimpleMail() throws Exception {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("black@bhusk.com"); //发送邮箱
message.setTo("keshu@qq.com"); //收件邮箱
message.setSubject("主题:简单邮件");
message.setText("测试邮件内容");
mailSender.send(message);
}
@Test
public void sendAttachmentsMail() throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom("black@bhusk.com");
helper.setTo("lu12121@qq.com");
helper.setSubject("主题:有附件");
helper.setText("有附件的邮件");
FileSystemResource file = new FileSystemResource(new File("weixin.jpg"));
helper.addAttachment("附件-1.jpg", file);
helper.addAttachment("附件-2.jpg", file);
mailSender.send(mimeMessage);
}
@Test
public void sendInlineMail() throws Exception {
MimeMessage mimeMessage = mailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
helper.setFrom("black@bhusk.com");
helper.setTo("lu12121@qq.com");
helper.setSubject("主题:嵌入静态资源");
helper.setText("<html><body><img src='http://image.bhusk.com/11a84075a304ac57f6d37323512fd24cde983635-0b9d80148b282eeaa188b196c2358d4ffd7006cb.png' ></body></html>", true);
FileSystemResource file = new FileSystemResource(new File("weixin.jpg"));
helper.addInline("weixin", file);
mailSender.send(mimeMessage);
}
}
关于我们
程序员太辛苦了
请善待你们身边的每一位程序员~
欢迎在评论写下你的程序员自黑体呦,嗯,相信你可以滴~~~~~~
以上内容,均来自互联网~
欢迎扫描二维码加入我们的组织
黑壳网交流群
E-mail:keshu@bhusk.com
本文由 黑壳博客的壳叔 创作或转载,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。
可自由转载、引用,但需署名作者且注明文章