ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

SpringBoot之发送邮件(手把手教你通过Java发送邮件)

2022-08-18 22:00:08  阅读:175  来源: 互联网

标签:qq Java helper 发送 邮箱 message 邮件


SpringBoot之发送邮件(手把手教你通过Java发送邮件)

前言

我们都知道,在使用一个新的APP时经常需要我们注册,注册时需要我们输入手机号然后接受验证码,当然还有一类是需要我们输入邮箱,然后验证消息会发送到我们的邮箱,那么这个功能是如何实现的呢?话不多说 直接开干。

原理

原理也其实很简单,发送者给接收者发送邮件,邮件会先发送到一个第三方的邮件平台,然后这个第三方的平台会帮助我们进行转发,就和我们经常用到的交换机一样,他会帮我们把消息进行匹配然后发送到我们的队列
在这里插入图片描述

开始操作

1、创建项目

只需要创建一个普通的SpringBoot项目即可,导入依赖。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

2、配置yml文件

在配置yml之前,我们得先拿到第三方平台的服务器地址和我们用来发送邮箱的帐号和“QQ邮箱授权码”,这里我们使用QQ邮箱即可

首先进入QQ邮箱 点击帐号

在这里插入图片描述

翻到下面 点击 “生成授权码”

在这里插入图片描述

在这里插入图片描述

接下来我们即可开始配置我们的yml文件

server:
  port: 8080
spring:
  mail:
    host: smtp.qq.com
    username: 719801748@qq.com
    password: 填写刚刚拿到的授权码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3、发送简单邮件

    @Autowired
    private JavaMailSenderImpl javaMailSender;
    @Test
    public void sendMessage(){
        SimpleMailMessage message = new SimpleMailMessage();
        message.setSubject("这是一个标题");
        message.setText("这是邮箱正文的内容");
        message.setFrom("719801748@qq.com");//发送者的邮箱地址
        message.setTo("2906226362@qq.com"); //接收者的邮箱地址
        javaMailSender.send(message);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

测试,我们打开接收者的邮箱即可看到
在这里插入图片描述

4、发送复杂邮件(附带图片文件啥的)


    @Test
    public void sendHighMessage() throws MessagingException {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(message, true); //true表示会携带一些附件品(文件,图片等)
        helper.setSubject("这是标题");
        helper.setText("<b>我是加粗的正文</b>",true);//true表示可以携带一些html标签内容
        helper.addAttachment("我是旋涡鸣人.jpg",new File("C:\\Users\\LENOVO\\Desktop\\保持初心,做好自己.jpg"));//携带附属物 1、文件名 2、文件
        helper.setFrom("719801748@qq.com");
        helper.setTo("2906226362@qq.com");
        javaMailSender.send(message);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

测试,我们打开接受者的邮箱即可看到我们发送的信息和图片
在这里插入图片描述

我们预览一下图片看看:

在这里插入图片描述
完结撒花,就是这么简单。我们还可以结合定时任务,每天早上给你喜欢的人定时发送一封早安邮件啥的,这些土味的事情就由你们去发挥想象哈。哈哈

后记

生活明朗、万物可爱、人间值得、未来可期。
将来的你,一定会感谢现在努力拼搏的自己

https://blog.csdn.net/weixin_45647685/article/details/112125620

标签:qq,Java,helper,发送,邮箱,message,邮件
来源: https://www.cnblogs.com/sunny3158/p/16600278.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有