springboot实现发送QQ邮箱

 更新时间:2021年06月06日 11:23:58   作者:蜜桃婷婷酱  
这篇文章主要为大家详细介绍了springboot实现发送QQ邮箱,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

springboot发送电子邮箱,供大家参考,具体内容如下

1.开启qq邮箱开启IMAP/SMTP服务*

首先进入qq邮箱

点击设置

点击账户,然后往下拉

开启IMAP/SMTP服务

开启成功得到授权密码,这个要记住,一会用

2.引入pom依赖

<!--发送邮箱-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
            <version>2.2.5.RELEASE</version>
</dependency>

3.配置application.properties

# QQ邮箱配置
spring.mail.host=smtp.qq.com
#发件人QQ邮箱地址
spring.mail.username=发件人的qq邮箱
#QQ邮箱授权码
spring.mail.password=得到的授权密码
#以下三项不用改动
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

4.创建发送电子邮箱controller

我这里收件人地址写死了,当然可以作为参数,访问这个方法的时候把参数加上就行了,效果都是一样的

package com.wyh.controller;
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.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.mail.Address;
import javax.mail.MessagingException;
import java.util.ArrayList;

@RestController
public class EmailController {
    @Resource
    private JavaMailSender javaMailSender;
    //这一步是获取application.properties中设置的发件人邮箱地址
    @Value("${spring.mail.username}")
    private String username;
   /**
    /* @Author 魏一鹤
    * @Description  发送邮箱
    * @Date 0:09 2021/5/19
    * @Param []
    * @return void
   **/
    @RequestMapping("/sendEmail")
    public String  sendMail() { //String address

        //发邮件
            SimpleMailMessage message = new SimpleMailMessage();
            //发件人邮件地址(上面获取到的,也可以直接填写,string类型)
            message.setFrom(username);
            //要发送的qq邮箱(收件人地址)
            message.setTo("1581622479@qq.com");//address
            //邮件主题
            message.setSubject("java调用QQ邮箱发送");
            //邮件正文
            message.setText("我是用java发送的QQ邮箱");//!!!
            javaMailSender.send(message);
            return "发送成功!";
    }
}

5.查看效果

在我的qq邮箱就能看到我们发送的内容了

然后换一种写法,把收件人的地址作为参数

package com.wyh.controller;
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.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.mail.Address;
import javax.mail.MessagingException;
import java.util.ArrayList;

@RestController
public class EmailController {
    @Resource
    private JavaMailSender javaMailSender;
    //这一步是获取application.properties中设置的发件人邮箱地址
    @Value("${spring.mail.username}")
    private String username;
   /**
    /* @Author 魏一鹤
    * @Description  发送邮箱
    * @Date 0:09 2021/5/19
    * @Param []
    * @return void
   **/
    @RequestMapping("/sendEmail")
    public String  sendMail(String address) { //String address

        //发邮件
            SimpleMailMessage message = new SimpleMailMessage();
            //发件人邮件地址(上面获取到的,也可以直接填写,string类型)
            message.setFrom(username);
            //要发送的qq邮箱(收件人地址)
            message.setTo(address);//address
            //邮件主题
            message.setSubject("java调用QQ邮箱发送");
            //邮件正文
            message.setText("我是用java发送的QQ邮箱");//!!!
            javaMailSender.send(message);
            return "发送成功!";
    }
}

效果都是一样的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Java多线程之定时器Timer的实现

    Java多线程之定时器Timer的实现

    这篇文章主要为大家详细介绍了Java多线程中定时器Timer类的使用以及模拟实现,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-10-10
  • Java中的Apache Commons Math使用详解

    Java中的Apache Commons Math使用详解

    Java中的Apache Commons Math是一个开源的数学库,它提供了许多常用的数学函数和算法,这个库对于需要处理大量数据的开发者来说非常有用,因为它可以大大简化代码并提高效率,本文给大家详解讲解Java中的Apache Commons Math知识,感兴趣的朋友跟随小编一起看看吧
    2023-08-08
  • Idea安装及涉及springboot详细配置的图文教程

    Idea安装及涉及springboot详细配置的图文教程

    这篇文章主要介绍了Idea安装及涉及springboot详细配置,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • mybatis通过中间表实现一对多查询功能

    mybatis通过中间表实现一对多查询功能

    这篇文章主要介绍了mybatis通过中间表实现一对多查询,通过一个学生的id查询出该学生所学的所有科目,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • 使用注解+RequestBodyAdvice实现http请求内容加解密方式

    使用注解+RequestBodyAdvice实现http请求内容加解密方式

    这篇文章主要介绍了使用注解+RequestBodyAdvice实现http请求内容加解密方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Springboot视频接口报大量的ClientAbortException找不到原因的解决

    Springboot视频接口报大量的ClientAbortException找不到原因的解决

    本文主要介绍了Springboot视频接口报大量的ClientAbortException找不到原因的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • 深入了解Java对象的克隆

    深入了解Java对象的克隆

    这篇文章主要介绍了Java对象的克隆的相关资料,帮助大家更好的理解和学习Java,感兴趣的朋友可以了解下
    2020-08-08
  • 举例解析Java的设计模式编程中里氏替换原则的意义

    举例解析Java的设计模式编程中里氏替换原则的意义

    这篇文章主要介绍了Java的设计模式中里氏替换原则的意义,文中举例来说明里氏替换原则中强调的继承特性方面可能带来的问题,需要的朋友可以参考下
    2016-02-02
  • MyBatis-Plus结合Layui实现分页方法

    MyBatis-Plus结合Layui实现分页方法

    MyBatis-Plus 使用简单,本文主要介绍使用 service 中的 page 方法结合 Layui 前端框架实现分页效果,具有一定的参考价值,感兴趣的可以了解一下
    2021-08-08
  • MyBatis-Plus 中 typeHandler 的使用实例详解

    MyBatis-Plus 中 typeHandler 的使用实例详解

    本文介绍了在MyBatis-Plus中如何使用typeHandler处理json格式字段和自定义typeHandler,通过使用JacksonTypeHandler,可以简单实现将实体类字段转换为json格式存储,感兴趣的朋友跟随小编一起看看吧
    2024-10-10

最新评论