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 "发送成功!";
}
}

效果都是一样的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Spring Boot 集成 MyBatis 全面讲解(最新推荐)
MyBatis 是一款优秀的持久层框架,与 Spring Boot 集成后可以大大简化开发流程,本文将全面讲解如何在 Spring Boot 中集成 MyBatis,包括环境配置、基础操作、高级功能和最佳实践,需要的朋友可以参考下2024-12-12
基于JAVA中Jersey处理Http协议中的Multipart的详解
之前在基于C#开发彩信用最原始的StringBuilder拼接字符串方式处理过Multipart。现在在做一个项目的时候,由于之前的技术路线都是使用Jersey处理Http这块,为了保持技术路线一致,研究了一下如何使用Jersey处理Http协议中的Multipart2013-05-05
Java之String、StringBuffer、StringBuilder的区别分析
今天搞安卓在看书的时候遇到了StringBuilder这个类型的东东,有点小迷,不知道它跟string、stringbuffer的关系式怎么样的,赶快查阅相关资料,了解了个大概,拿出来分享一下2012-11-11
SpringBoot项目整合MybatisPlus并使用SQLite作为数据库的过程
SQLite是一个紧凑的库,启用所有功能后,库大小可以小于 750KiB, 具体取决于目标平台和编译器优化设置, 内存使用量和速度之间需要权衡,这篇文章主要介绍了SpringBoot项目整合MybatisPlus并使用SQLite作为数据库,需要的朋友可以参考下2024-07-07


最新评论