Spring Boot如何开启并使用邮件服务

这里的邮件服务可以是自己搭的邮箱服务器,也可以是第三方的邮箱。

本人使用的是网易的163邮箱。

操作步骤如下:

登陆网易邮箱163在设置中打开并勾选POP3/SMTP/IMAP服务然后会得到一个授权码,这个邮箱和授权码将用作登陆认证。

添加maven依赖

这里使用spring 官方给我们提供的邮箱操作库。

坐标如下:

		<dependency>
     <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>

添加邮箱服务器配置

spring.mail.host=smtp.163.com(服务器地址)
spring.mail.username=你的账户
spring.mail.password=授权码
spring.mail.properties.from=你的邮箱

编写发送邮件业务

邮件VO

@Data
public class MailVo {
  private String id;
  private String from;
  private String to;
  private String subject;
  private String text;
  private Date sentDate;
  private String cc;
  private String bcc;
  private boolean status;
  private String error;
  @JsonIgnore
  private MultipartFile[] multipartFiles;
}

发送邮件业务

 @Override
  public void sendMimeMail(MailVo mailVo) {
    try {
      MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(), true);
      mailVo.setFrom(javaMailSender.getJavaMailProperties().getProperty("from"));
      mimeMessageHelper.setFrom(mailVo.getFrom());
      mimeMessageHelper.setTo(mailVo.getTo().split(","));
      mimeMessageHelper.setSubject(mailVo.getSubject());
      mimeMessageHelper.setText(mailVo.getText());
      if (!StringUtils.isEmpty(mailVo.getCc())) {
        mimeMessageHelper.setCc(mailVo.getCc().split(","));
      }
      if (!StringUtils.isEmpty(mailVo.getBcc())) {
        mimeMessageHelper.setBcc(mailVo.getBcc().split(","));
      }
      if (!StringUtils.isEmpty(mailVo.getSentDate())){
        mailVo.setSentDate(new Date());
        mimeMessageHelper.setSentDate(mailVo.getSentDate());
      }
      // 如果有附件
      if (mailVo.getMultipartFiles() != null) {
        for (MultipartFile file : mailVo.getMultipartFiles()) {
          mimeMessageHelper.addAttachment(file.getOriginalFilename(),file);
        }
      }
      // 发送
      javaMailSender.send(mimeMessageHelper.getMimeMessage());
      mailVo.setStatus(true);
      logger.info("发送邮件成功:{}->{}", mailVo.getFrom(), mailVo.getTo());
    } catch (MessagingException e) {
      e.printStackTrace();
    }
  }

ps:最后调用服务发送邮件,这里就不阐述了。

最后附上一张收到的邮件截图:

祝大家好运。

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

(0)

相关推荐

  • SpringBoot JavaMailSender发送邮件功能

    本文实例为大家分享了SpringBoot JavaMailSender发送邮件的具体代码,供大家参考,具体内容如下 引入Maven依赖包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> 163邮箱 application.properties

  • SpringBoot使用FreeMarker模板发送邮件

    本文实例为大家分享了SpringBoot +Mail+FreeMarker发送邮件,供大家参考,具体内容如下 通过spirngboot 自带的mail服务及FreeMarker模板引擎,发送邮 添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </depen

  • SpringBoot集成E-mail发送各种类型邮件

    SpringBoot 集成 E-mail发送邮件,供大家参考,具体内容如下 JDK本身有自带发送邮件api,加上SpringBoot在进行封装,使得现在使用起来十分快速简洁. 话不多说,参考纯洁的微笑博客,更改jar版本为2.0.4 开干,基本没什么坑. 就是配置邮箱账号密码是,如果是qq邮箱,需要开启PO30和STMP服务,并且获取临时授权码. 开启服务链接: https://mail.qq.com/cgi-bin/frame_html?sid=a5ZSbreeNm9pHyl1&r=a8322

  • Springboot实现邮件发送功能

    本文实例为大家分享了Springboot实现邮件发送具体代码,供大家参考,具体内容如下 需求:用户注册账号绑定邮箱之后,下次登录时忘记密码,需要通过邮箱找回密码 1.创建springboot项目 2.pom导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </depen

  • SpringBoot实现发送邮件功能

    背景 有个小伙伴问我你以前发邮件功能怎么弄的.然后我就给他找了个demo,正好在此也写一下,分享给大家. 理清痛点 发送邮件,大家可以想一下,坑的地方在哪? 我觉得是三个吧. 第一:邮件白名单问题. 第二:邮件超时问题. 第三:邮件带附件问题. 我下面的demo都会介绍这些问题及解决. 实现方案 准备工作 我们先要准备一个可以发送的邮箱,我这里以我的163邮箱为例,现在发送邮件的规则,要求你输入一种叫做授权码的东西,注意这个东西不是密码. 获取授权码的步骤: 当选择开启,通过验证之后就可以获取到

  • Spring Boot Admin邮件警报整合过程解析

    一.前言 在Spring Boot Admin Server 中撒送预警邮件通知是很简单的,只需要简单的几个配置就可以了. 二.代码演示 1.microservice-monitor-server-> pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=&quo

  • 基于SpringBoot实现发送带附件的邮件

    这篇文章主要介绍了基于SpringBoot实现发送带附件的邮件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 <!--发送email依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependenc

  • SpringBoot发送邮件功能 验证码5分钟过期

    springBoot发送邮件(验证码,5分钟过期)超级详细,供大家参考,具体内容如下 自己百度了很久,终于成功了,这里记录一下过程 1.选择邮箱(这里选用163邮箱) 首先在网页登录在设置里面打开POP3/SMTP服务 在application.yaml中配置 要注意的就是这里的password是授权码而不是密码!!!如果使用qq邮箱把host改为smtp.qq.com 2.关于验证码的工具类 private static final String SYMBOLS = "0123456789&q

  • Spring Boot如何开启并使用邮件服务

    这里的邮件服务可以是自己搭的邮箱服务器,也可以是第三方的邮箱. 本人使用的是网易的163邮箱. 操作步骤如下: 登陆网易邮箱163在设置中打开并勾选POP3/SMTP/IMAP服务然后会得到一个授权码,这个邮箱和授权码将用作登陆认证. 添加maven依赖 这里使用spring 官方给我们提供的邮箱操作库. 坐标如下: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp

  • Spring Boot利用Java Mail实现邮件发送

    本文实例为大家分享了Spring Boot利用Java Mail实现邮件发送的具体代码,供大家参考,具体内容如下 实现邮件发送的方法有很多,这里只是简单记录一个demo实现 1. 引入maven依赖 <!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --> <dependency> <groupId>org.springframework</grou

  • spring boot+mybatis搭建一个后端restfull服务的实例详解

    1.创建一个maven项目. 2.在pom.xml中引入依赖包,如下所示: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="

  • Java Spring Boot消息服务万字详解分析

    目录 消息服务概述 为什么要使用消息服务 异步处理 应用解耦 流量削峰 分布式事务管理 常用消息中间件介绍 ActiveMQ RabbitMQ RocketMQ RabbitMQ消息中间件 RabbitMQ简介 RabbitMQ工作模式介绍 Work queues(工作队列模式) Public/Subscribe(发布订阅模式) Routing(路由模式) Topics(通配符模式) RPC Headers RabbitMQ安装以及整合环境搭建 安装RabbitMQ 下载RabbitMQ 安装R

  • Spring Boot Admin微服务应用监控的实现

    Spring Boot Admin 可以对SpringBoot应用的各项指标进行监控,可以作为微服务架构中的监控中心来使用,本文将对其用法进行详细介绍. Spring Boot Admin 简介 SpringBoot应用可以通过Actuator来暴露应用运行过程中的各项指标,Spring Boot Admin通过这些指标来监控SpringBoot应用,然后通过图形化界面呈现出来.Spring Boot Admin不仅可以监控单体应用,还可以和Spring Cloud的注册中心相结合来监控微服务应

  • Spring Boot开启远程调试的方法

    前言 上周末一个朋友庆生,无意间听他说起了近况,说公司项目太多了,每天一堆BUG需要修复,项目来回切换启动,真是挺烦的. 随着项目越来越多,特别是身处外包公司的朋友,每天可能需要切换两三个项目,难道一有问题就本地启动项目调试? 今天这篇文章就来介绍一下什么是远程调试,Spring Boot如何开启远程调试? 什么是远程调试? 所谓的远程调试就是服务端程序运行在一台远程服务器上,我们可以在本地服务端的代码(前提是本地的代码必须和远程服务器运行的代码一致)中设置断点,每当有请求到远程服务器时时能够在

  • 利用Spring Boot如何开发REST服务详解

    REST服务介绍 RESTful service是一种架构模式,近几年比较流行了,它的轻量级web服务,发挥HTTP协议的原生的GET,PUT,POST,DELETE. REST模式的Web服务与复杂的SOAP和XML-RPC对比来讲明显的更加简洁,越来越多的web服务开始采用REST风格设计和实现.例如,Amazon.com提供接近REST风格的Web服务进行图书查找:雅虎提供的Web服务也是REST风格的.REST 并非始终是正确的选择. 它作为一种设计 Web 服务的方法而变得流行,这种方

  • Java 程序员掌握 Spring Boot非常有必要

    Spring Boot从天而降 Spring Boot是企业级开发的整体整合解决方案,在现在企业项目开发中使用非常普遍,Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热潮,给企业开发带来了巨大的变革,可以说现在是Java程序员到了必须学习SpringBoot的时候. Spring已经足够好了? Spring框架真的太好了,任何一个java开发用过之后都会像上瘾一样,爱不释手.会在遇到新问题的时候,或者找到某一个方法的时候,都会去看一下spring是不是已经有同类

  • Spring Boot 实现https ssl免密登录(X.509 pki登录)

    要让项目实现 ssl 免密登录,首先需要开启 https . 所以先从 Spring Boot 如何开启 https 说起. 创建服务端证书 为了开启 https ,我们需要一份证书. 实际开发中,会在网上申请一个机构颁发的证书.这里为了方便,我会使用 openssl 命令自己生成一个证书来使用. openssl req -x509 -sha256 -days 3650 -newkey rsa:4096 -keyout rootCA.key -out rootCA.crt 所有的密码都是 123

  • 使用Spring Boot的原因解析

    为什么要使用Spring Boot? 在使用Spring框架进行开发的过程中,需要配置很多Spring框架包的依赖,如spring-core.spring-bean.spring-context等,而这些配置通常都是重复添加的,而且需要做很多框架使用及环境参数的重复配置,如开启注解.配置日志等.自动配置:spring boot能够根据当前类路径下的类,jar包来自动配置bean,如添加一个spring-boot-starter-web启动器就能拥有web的功能,无需其他配置.无代码生成和XML配

随机推荐