1.QQ邮箱发送邮件设置

首先登录QQ邮箱>>>登录成功后找到设置>>>然后找到邮箱设置>>>点击账户>>>找到POP3|SMTP服务>>>点击开启(开启需要验证,验证成功后会有一串授权码用于发送邮件使用)>>>验证成功 看图操作

授权码一定记得复制出来

**0.引入包**
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
**1.填写配置文件此处使用yml文件配置,使用yml配置记得注意格式哦,以免出错。**
spring:
mail:
default-encoding: UTF-8
host: smtp.qq.com
protocol: smtp
username: 邮箱账号
password: 服务授权码(不是QQ密码而是刚刚开启的POP3/SMTP服务 的授权码)
smtp:
auth: true
starttls:
enable: true
required: true
**2.新建类实现发送邮件**
import java.io.File;
import javax.mail.internet.MimeMessage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author ADMIN
* @date 2018年10月9日 下午3:59:59
* @version 1.0
*/
@RestController
public class MailController { @Autowired
JavaMailSender jms;
//发送文本消息,不带附件,内容是可以带html等标签之类的哦
@GetMapping("/send")
public String send(){
//建立邮件消息
SimpleMailMessage mainMessage = new SimpleMailMessage();
//发送者
mainMessage.setFrom("发送者邮箱(需要在配置文件中一致)");
//接收者
mainMessage.setTo("接收者邮箱");
//发送的标题
mainMessage.setSubject("发送的标题");
//发送的内容
mainMessage.setText("发送的内容");
jms.send(mainMessage);
return "true"; } /**
* 带附件发送,可多个附件 图片,doc都可以发送。
* ADMIN
* 2018年10月13日 下午12:31:13
*/
@GetMapping("/sendFile")
public void sendAttachmentsMail() { String [] fileArray={"C:\Users\Administrator\Desktop\图片\0.jpg","C:\Users\Administrator\Desktop\图片\aa.zip"}; MimeMessage message=jms.createMimeMessage();
try {
MimeMessageHelper helper=new MimeMessageHelper(message,true);
helper.setFrom("发送者邮箱(需要在配置文件中一致)");
helper.setTo("接收者邮箱");
helper.setSubject("发送标题");
helper.setText("发送内容");
//验证文件数据是否为空
if(null != fileArray){
FileSystemResource file=null;
for (int i = 0; i < fileArray.length; i++) {
//添加附件
file=new FileSystemResource(fileArray[i]);
helper.addAttachment(fileArray[i].substring(fileArray[i].lastIndexOf(File.separator)), file);
}
}
jms.send(message);
System.out.println("带附件的邮件发送成功");
}catch (Exception e){
e.printStackTrace();
System.out.println("发送带附件的邮件失败");
}
}
}
PS:网易邮箱发送和QQ邮箱是一样的,只需要修改配置文件的host,username,password三个参数。将host改成:smtp.163.com,用户名和密码改成网易邮箱对应的就行
原文:https://blog.csdn.net/qq_34523482/article/details/83037551

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

  1. java springboot+maven发送邮件

    springboot+maven发送邮件 废话不多说直接上代码 1. pom 文件导入jar包 <!--邮件发送--> <dependency> <groupId> ...

  2. 使用 SpringBoot 配置发送邮件功能

    1.使用 SpringBoot 配置发送邮件功能 项目总体结构 用户表设计 SET FOREIGN_KEY_CHECKS=0; CREATE DATABASE sample; USE sample; ...

  3. springboot + rabbitmq发送邮件(保证消息100%投递成功并被消费)

    前言: RabbitMQ相关知识请参考: https://www.jianshu.com/p/cc3d2017e7b3 Linux安装RabbitMQ请参考: https://www.jianshu. ...

  4. (转载)springboot + rabbitmq发送邮件(保证消息100%投递成功并被消费)

    转载自https://www.jianshu.com/p/dca01aad6bc8 一.先扔一张图   image.png 说明: 本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认 ...

  5. springBoot 定时+发送邮件

    定时任务引入meaven依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifa ...

  6. SpringBoot配置发送邮件

    一.导入jar包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...

  7. springboot 测试发送邮件

    首先在pom文件引入依赖: <!--email依赖 --> <dependency> <groupId>org.springframework.boot</g ...

  8. SpringBoot中发送邮件服务

    .转载:http://www.ityouknow.com/springboot/2017/05/06/spring-boot-mail.html 简单使用 1.pom 包配置 <dependen ...

  9. springboot mail 发送邮件

    新开发了一个新的功能,要求使用java发送邮件,在此记录下代码,以方便后来者: 1.首先需要开通邮箱,开通smtp功能,我这边使用的是新浪邮箱,试过163.qq,比较麻烦,后来看到别人使用新浪,直接使 ...

  10. 使用SpringBoot + JavaMailSender 发送邮件报错 Mail server connection failed;Could not connect to SMTP host

    说明: 出于安全考虑,阿里云默认封禁 TCP 25 端口出方向的访问流量,无法在阿里云上的云服务器通过 TCP 25 端口连接外部地址. [官方提示]:如果您需要使用阿里云上的云服务器对外部发送邮件, ...

随机推荐

  1. spring security简单登录的认证

    一.思路 1.先导入相关配置(使用spring security校验之后,登录拦截的配置) 2.创建一个 WebSecurityConfig 继承 WebSecurityConfigurerAdapt ...

  2. bzoj3732Network

    bzoj3732Network 题意: 给一个无向图,k个询问求节点a到节点b最长边的最小值.n,k≤15000. 题解: ”最长边的最小值“经常可以用最小生成树解决,因为生成树里的每一条边都是可取的 ...

  3. bzoj2160拉拉队排练

    bzoj2160拉拉队排练 题意: 给一个字符串,求最长的k个回文子串(此处回文子串长度必须为奇数)长度的乘积.字符串长度≤1000000 题解: 先用manacher预处理出第i个字符为中心的最长回 ...

  4. scratch编程体感游戏

    体感游戏有很多种,最常见的就是摄像头和声控了,今天我们要用scratch编写一系列的体感游戏!!!是不是很激动呢? 首先我们来编摄像头类的: No.1拳头打幽灵 挥动头就能打到幽灵了哟! 具体程序如下 ...

  5. Mybatis——Mapper解析

    Mapper的注册入口在Configuration的addMapper方法中,其会调用MapperRegistry的addMapper方法. Mapper的注册过程分为两个步骤: 1.创建Mapper ...

  6. 自动化不知如何参数化(二)?xlrd来帮你解决

    在昨天的博文中介绍了普通单元格数据的获取,以及单元格数据类型的转换,详细见博文:自动化不知如何参数化(一)?xlrd来帮你解决. 昨天的那篇博文中,还有个获取合并单元格数据的问题没解决,今天就专门来讲 ...

  7. iframe和DataForm

    一.iframe使用 iframe在一个页面中,相当于整个window窗口的子窗口,可通过页面的元素结构查看. <div> <p>学习iframe</p> < ...

  8. Oracle Dataguard故障转移(failover)操作

    注意:故障转移会破坏DG的主从关系,使其变为互不相关的2个数据库,谨慎使用. (一)故障转移操作流程图 (二)故障转移操作流程 备注:以下操作步骤与上面流程图步骤一一对应 STEP1:刷新所有未发送到 ...

  9. PHP stristr() 函数

    实例 查找 "world" 在 "Hello world!" 中的第一次出现,并返回字符串的剩余部分: <?php高佣联盟 www.cgewang.com ...

  10. MySQL(版本8.0.19)服务的启动/停止、登录/登出、修改密码

      [先说明一点 ,windows系统下,英文字母不分大小写.] MySQL 服务的 启动 / 停止 方式一: (我的系统是windows10) 找到 此电脑 图标 右键点击,选择"管理&q ...