写点什么

SpringBoot 邮件发送 demo

作者:@下一站
  • 2022-11-22
    陕西
  • 本文字数:1096 字

    阅读完需:约 4 分钟

SpringBoot邮件发送demo

在使用 javaSE 时,我们会发现发送邮件较为麻烦,而在 SpringBoot 中,发送邮件就变成一件较为简单的时。

一、导入 mail 的 maven 的启动类。

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-mail</artifactId></dependency>
复制代码

二、application 配置文件添加配置信息

spring.mail.username=yume@qq.comspring.mail.password=自己的密钥spring.mail.host=smtp.qq.com#开启加密验证spring.mail.properties.mail.smtp.ssl.enable=ture
复制代码

首先 username 即是我们的邮箱名称,password 我们将会详细的讲解如何获取(以 qq 邮箱为例)。

在我们进入 QQ 邮箱后,进入设置界面。然后在邮箱设置下选择账户界面

然后下滑,选择开启 POP3/SMTP 服务。

点击开启会进行认证


在开启后,QQ 邮箱会要求你进行认证,在完成认证后,即可获得密钥。我们将其复制到 password 的值中即可。

除此之外,QQ 邮箱需要开启加密验证。

编写邮件

我们在我们的测试类中进行对邮件发送的代码进行测试。

@SpringBootTestclass SwaggerStudyApplicationTests {    @Resource    JavaMailSenderImpl javaMailSender;
@Test void contextLoads() { SimpleMailMessage mailMessage = new SimpleMailMessage();
mailMessage.setSubject("This is a title"); mailMessage.setText("Diamond ! !");
mailMessage.setTo("yume@qq.com"); mailMessage.setFrom("yume@qq.com");
javaMailSender.send(mailMessage); }
@Test void sendMimeMail() throws MessagingException { MimeMessage mailMessage = javaMailSender.createMimeMessage();
MimeMessageHelper helper= new MimeMessageHelper(mailMessage,true);
helper.setSubject("This anther titer"); helper.setText("YUME !");
helper.setTo("yume@qq.com"); helper.setFrom("yume@qq.com");
helper.addAttachment("picture.png",new File("图片位置"));
javaMailSender.send(mailMessage); }}
复制代码

改些代码都十分的简洁明了,上面是简单的邮件发送,下面的是 mime 邮件发送,我们可以进行对其进行附件的添加,例如图片等。我们需要使用的类为 JavaMailSenderImpl,因此我们需要将其引入,在较为低版本中的 JavaMailSenderImpl 是使用 @Autowired 注入的,高版本的 mail 是使用 @Resource。

setSubject 为设置标题

setText 为设置正文

setTo 设置接受邮箱

ired 注入的,高版本的 mail 是使用 @Resource。

setSubject 为设置标题

setText 为设置正文

setTo 设置接受邮箱

setFrom 设置发送邮箱

发布于: 刚刚阅读数: 3
用户头像

@下一站

关注

懒人 2020-11-22 加入

懒人

评论

发布
暂无评论
SpringBoot邮件发送demo_编程_@下一站_InfoQ写作社区