SpringBoot邮件发送demo

举报
torchstar 发表于 2022/11/30 22:59:31 2022/11/30
【摘要】 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.com
spring.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邮箱需要开启加密验证。

编写邮件

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

@SpringBootTest
class 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 设置发送邮箱

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。