1. 建项目

    1. 创建一个SpringBoot项目
  2. 改pom,导入相关依赖



    org.springframework.boot

    spring-boot-starter-parent

    2.2.2.RELEASE

    <dependencies>
    <!--web依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--邮件发送依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-test -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
    </dependency>
    </dependencies>
  3. 写Yml,配置application.yml

    server:

    port: 端口号

    spring:

    mail:

    #邮件发送配置

    default-encoding: UTF-8

    host: smtp.qq.com

    # 授权码

    password: 你的授权码

    # 邮件发送安全配置

    properties:

    mail:

    smtp:

    auth: true

    starttls:

    enable: true

    required: true

    # 发件人信息

    username: 发件人邮箱

  4. 主启动类EmailSignupApplication

    /**

    • @author QiuQiu&LL
    • @create 2021-08-09 2:18
    • @Description:

      */

      @SpringBootApplication

      @ComponentScan("com.qbb")

      public class EmailSignupApplication {

      public static void main(String[] args) {

      SpringApplication.run(EmailSignupApplication.class, args);

      }

      }
  5. 业务

    1. 创建Service

    /**

    • @author QiuQiu&LL
    • @create 2021-08-09 2:18
    • @Description:

      /

      public interface MailService {

      /
      *

      • 发送邮件
      • @param to 邮件收件人
      • @param subject 邮件主题
      • @param verifyCode 邮件验证码

        */

        public void sendVertifyCode(String to, String subject, String verifyCode);

        }
    1. 实现类ServiceImpl

    package com.qbb.email_signup.service.impl;

    import com.qbb.email_signup.service.MailService;

    import org.slf4j.Logger;

    import org.slf4j.LoggerFactory;

    import org.springframework.beans.factory.annotation.Autowired;

    import org.springframework.beans.factory.annotation.Value;

    import org.springframework.mail.SimpleMailMessage;

    import org.springframework.mail.javamail.JavaMailSender;

    import org.springframework.stereotype.Service;

    /**

    • @author QiuQiu&LL

    • @create 2021-08-09 2:20

    • @Description:

      */

      @Service

      public class MailServiceImpl implements MailService {

      @Value("${spring.mail.username}")

      private String from;

      @Autowired

      private JavaMailSender mailSender;

      Logger logger = LoggerFactory.getLogger(this.getClass());

      /**

      • 发送邮件
      • @param to 邮件收件人
      • @param subject 邮件主题
      • @param verifyCode 邮件验证码

        */

        @Override

        public void sendVertifyCode(String to, String subject, String verifyCode) {

        SimpleMailMessage message = new SimpleMailMessage();

        message.setFrom(from); //发送人

        message.setTo(to); //收件人

        message.setSubject(subject); //邮件名

        message.setText(verifyCode); //邮件内容(验证码)

        mailSender.send(message);

        logger.info("已经发送");

        }

        }
  6. 测试

    package com.qbb.email_signup;

    import com.qbb.email_signup.service.MailService;

    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.test.context.junit4.SpringRunner;

    /**

    • @author QiuQiu&LL

    • @create 2021-08-09 2:28

    • @Description:

      */

      @RunWith(SpringRunner.class)

      @SpringBootTest(classes = EmailSignupApplication.class)

      public class MailServiceTest {

      @Autowired

      private MailService mailService;

      @Test

      public void Test1() {

      /填你的测试信息/

      String to = "收件人邮箱";

      String title = "测试邮件";

      String context = "测试验证码";

      mailService.sendVertifyCode(to, title, context);

      }

    }

  7. 结果

SpringBoot实现QQ邮件发送的更多相关文章

  1. 线程——QQ邮件发送

    一.造一个QQ邮件发送的窗体 二.开始编写关于邮件发送的代码,以及当点发送按钮的时候,给发送按钮单独造了一个新的线程.这样如果发送的附件太多的话,如果不给发送按钮造新的线程,便会卡住,但是如果给发送按 ...

  2. Java网络编程:QQ邮件发送客户端程序设计

    目录 一.目标介绍 1.认识SMTP(邮件传输协议) 2.POP3(邮件接收协议) 二.基于Base64编码邮箱及授权码 1.开通QQ邮箱SMTP/POP3服务 2.Java编写BASE64编码程序 ...

  3. Java实现QQ邮件发送客户端

    目录 一.前言:QQ邮件发送程序 二.封装SMTP操作 三.实现多线程接收 四.QQ邮件客户端界面设计 1.连接按钮 2.发送按钮 五.QQ邮件发送效果演示 六.总结 一.前言:QQ邮件发送程序 在上 ...

  4. Springboot+Javamail实现邮件发送

    Springboot+Javamail实现邮件发送 使用的是spring-context-support-5.2.6.RELEASE.jar里的javamail javamail 官方文档:javam ...

  5. python定时利用QQ邮件发送天气预报

    大致介绍 好久没有写博客了,正好今天有时间把前几天写的利用python定时发送QQ邮件记录一下 1.首先利用request库去请求数据,天气预报使用的是和风天气的API(www.heweather.c ...

  6. Java实现QQ邮件发送

    首先我们需要两个jar包,点击下面即可下载这两个包: JavaMail mail.jar 1.4.5 JAF(版本 1.1.1) activation.jar 我们这里采用QQ邮箱发送邮件为例,代码如 ...

  7. 使用Springboot Email实现邮件发送

    在springboot配置文件增加emai配置(此种方式不支持QQ邮箱): spring.datasource.type=com.alibaba.druid.pool.DruidDataSource ...

  8. springboot下实现邮件发送功能

    springboot给我们封装好了邮件功能,非常简单,只需要稍微配置下就ok. 引入jar <dependency> <groupId>org.springframework. ...

  9. springBoot中的邮件发送

    1. 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

随机推荐

  1. jsp标签 formatNumber、formatDate、parseNumber、parseDate的使用

    引用本文的有关标签需要引用对应的标签库 <%--引入格式化动作标签库--%> <%@taglib prefix="fmt" uri="http://ja ...

  2. C# 代码性能优化举例

    普通人如果说什么事情慢,指的是 5 分钟,10 分钟,或者 1 个小时.2 个小时.而程序员要说什么事情慢,他们指的是 2 纳秒. 每个纳秒对程序员来说都是非常宝贵的,所以,要对代码进行优化,优化,再 ...

  3. netty基础知识

    参考 http://www.infoq.com/cn/articles/netty-high-performance 1. 传统 RPC 调用性能差的三宗罪 1)网络传输方式问题 2)序列化方式问题 ...

  4. nginx多ip多端口多域名方式

    目录 一:Nginx虚拟主机 1.基于ip的方式 2.基于多端口的方式 3.基于多域名的方式 一:Nginx虚拟主机 基于多IP的方式 基于多端口的方式 基于多域名的方式 1.基于ip的方式 [roo ...

  5. elasticsearch算法之推荐系统的相似度算法(一)

    一.推荐系统简介 推荐系统主要基于对用户历史的行为数据分析处理,寻找得到用户可能感兴趣的内容,从而实现主动向用户推荐其可能感兴趣的内容: 从物品的长尾理论来看,推荐系统通过发掘用户的行为,找到用户的个 ...

  6. MySQL表空间结构

    在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table 如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数 ...

  7. 用socket写一个简单的服务器

    import socketsk=socket.socket()sk.bind(("127.0.0.1",7001))sk.listen()def login(url): with ...

  8. Vue 之 vue-cropper 组件实现头像裁剪功能

    组件与api地址: npm地址地址:https://www.npmjs.com/package/vue-cropper/v/0.4.7 GitHub地址:https://github.com/xyxi ...

  9. LeetCode 每日一题 458. 可怜的小猪

    题目描述 有 buckets 桶液体,其中 正好 有一桶含有毒药,其余装的都是水.它们从外观看起来都一样.为了弄清楚哪只水桶含有毒药,你可以喂一些猪喝,通过观察猪是否会死进行判断.不幸的是,你只有 m ...

  10. X000010

    P1829 [国家集训队]Crash的数字表格 / JZPTAB 题意:求 \({\rm S}(n,m)=\sum\limits_{i=1}^n\sum\limits_{j=1}^m{\rm lcm} ...