SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件的实现

JavaMail是Java开发中邮件处理的开源类库,支持常用协议如:SMTP、POP3、IMAP

一、SpringBoot整合

1、需要在pom文件中添加依赖spring-boot-starter-mail

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

构建项目,加载相关jar包

2、在application.yml中配置邮件发送的相关信息

spring:
  mail:
   host: smtp.mxhichina.com   #阿里云发送服务器地址
   port: 25           #端口号
   username: XXX@XXXX.com    #发送人地址
   password: ENC(Grg2n2TYzgJv9zpwufsf37ndTe+M1cYk)  #密码

3、编写邮件发送工具类MailUtil

MailUtil.java

/**
 * @author chenzan
 * @version V1.0
 * @description 邮件发送
 */

@Component
public class MailUtil {
  @Autowired
  JavaMailSendermailSender;
  @Autowired
  MailPropertiesmailProperties;
  /**
  * 发送邮件测试方法
  */
  public void sendMail(MailBean mailBean) {
    SimpleMailMessage mimeMessage =new SimpleMailMessage();
    mimeMessage.setFrom(mailProperties.getUsername());
    mimeMessage.setTo(mailBean.getToAccount());
    mimeMessage.setSubject(mailBean.getSubject());
    mimeMessage.setText(mailBean.getContent());
    mailSender.send(mimeMessage);
  }

  /**
  * 发送邮件-附件邮件
  * @param boMailBean
  */
  public boolean sendMailAttachment(MailBean mailBean) {
 try {
  MimeMessage mimeMessage =mailSender.createMimeMessage();
      MimeMessageHelper helper =new MimeMessageHelper(mimeMessage, true);
      helper.setFrom(mailProperties.getUsername());
      helper.setTo(boMailBean.getToAccount());
      helper.setSubject(mailBean.getSubject());
      helper.setText(mailBean.getContent(), true);
      // 增加附件名称和附件
      helper.addAttachment(MimeUtility.encodeWord(boMailBean.getAttachmentFileName(), "utf-8", "B"), mailBean.getAttachmentFile());
      mailSender.send(mimeMessage);
  return true;
    }catch (MessagingException e) {
  e.printStackTrace();
  return false;
    }
}

MailBean.java

/**
 * @author chenzan
 * @version V1.0
 */
@Data
public class MailBean {

private Stringsubject;
  private String content;
  private String toAccount;
  private File attachmentFile;
  private String attachmentFileName;
}

4.发送

String email = "XXX@email.com";
String content="测试内容";
String subject = "测试主题";
MailBean mailBean =new MailBean ();
mailBean .setToAccount(email);
boMailBean.setSubject(subject );
boMailBean.setContent(content);
boolean resultSend =mailUtil.sendMailAttachment(boMailBean);

二、查看阿里云邮箱设置

支持SMTP/POP3/IMAP功能,轻松通过客户端软件(outlook、foxmail等)收发邮件。 详细设置 点此查看

三、SpringBoot中集成了jasypt在一定程度上保证密码的安全

1、添加依赖

<properties>
  <jasypt.version>1.9</jasypt.version>
</properties>
<dependency>
  <groupId>com.github.ulisesbocchio</groupId>
  <artifactId>jasypt-spring-boot-starter</artifactId>
  <version>${jasypt.version}</version>
</dependency>

2、在application.yml中配置加密密钥

jasypt:
 encryptor:
 password: XXXXXXX

3、生成密码对应的密文

@RunWith(SpringRunner.class)
@SpringBootTest
public class EncryptTests {
 @Autowired
  StringEncryptor stringEncryptor;

  @Test
  public void encryptPwd() {
    String result = stringEncryptor.encrypt("XXXX");
    System.out.println(result);
  }
}

4、密文替换

在ENC()中添加对应密文

password: ENC(Grg2n2TYzgJv9zpwufsf37ndTe+M1cYk)  #密码

到此这篇关于SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件的实现的文章就介绍到这了,更多相关SpringBoot JavaMail发送邮件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JavaMail入门教程之发送邮件(3)

    JavaMail API中定义了一个java.mail.Transport类,它专门用于执行邮件发送任务,这个类的实例对象封装了某种邮件发送协议的底层实施细节,应用程序调用这个类中的方法就可以把Message对象中封装的邮件数据发送到指定的SMTP服务器.使用JavaMail发送邮件时设计到的主要API之间的工作关系如下所示: 1.从Session对象中获得实现了某种邮件发送协议的Transport对象: 2.使用Session对象创建Message对象,并调用Message对象的方法封装邮件数

  • SpringBoot JavaMailSender发送邮件功能

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

  • 基于java使用JavaMail发送邮件

    一.邮件的相关概念 邮件协议.主要包括: SMTP协议:Simple Mail Transfer Protocol,即简单邮件传输协议,用于发送电子邮件 POP3协议:Post Office Protocol 3,即邮局协议的第三个版本,用于接收邮件 IMAP协议:Internet Message Access Protocol,即互联网消息访问协议,是POP3的替代协议 --------------------------------------------------------------

  • SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件的实现

    JavaMail是Java开发中邮件处理的开源类库,支持常用协议如:SMTP.POP3.IMAP 一.SpringBoot整合 1.需要在pom文件中添加依赖spring-boot-starter-mail <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependenc

  • SpringBoot项目部署到阿里云服务器的实现步骤

    目录 一.申请阿里云服务器 二.Xshell 的安装使用 三.云服务器上jdk的安装 四.linux云服务器安装mysql 五.部署SpringBoot项目 SpringBoot项目部署到阿里云linux服务器全流程 文章里所有需要的软件.jdk.mysql.xshell等下载地址: Xshell 5 下载地址:https://www.jb51.net/softs/56322.html jdk下载地址:https://www.jb51.net/softs/698365.html tomcat下载

  • python3使用腾讯企业邮箱发送邮件的实例

    1.腾讯企业邮箱SMTP服务器地址:smtp.exmail.qq.com,ssl端口为:465 2.确保腾讯企业邮箱中开启了SMTP服务: 3.示例代码: #!/usr/bin/env python3 # -*- coding: utf-8 -*- import smtplib from email.mime.text import MIMEText from email.utils import formataddr # 发件人邮箱账号 my_sender='xx@xxx.com' # use

  • springboot整合阿里云oss上传的方法示例

    OSS申请和配置 1. 注册登录 输入网址:https://www.aliyun.com/product/oss 如果没有账号点击免费注册,然后登录. 2.开通以及配置 点击立即开通 进入管理控制台 第一次使用会出现引导,按引导点击"我知道了",然后点击创建Bucket. 如果没有存储包或流量包点击购买. 点击确定,返回主页面,出现该页面,点击我知道了 将EndPoint记录下来,方便后期添加到我们项目的配置文件中 创建 AccessKeyID 和 AccessKeySecret 点击

  • SpringBoot整合阿里云OSS对象存储服务的实现

    今天来整合一下SpringBoot和阿里云OSS对象存储服务. 一.配置OSS服务 先在阿里云开通对象存储服务,拿到AccessKeyId.AccessKeySecret. 创建你的bucket(存储空间),相当于一个一个的文件夹目录.按业务需求分类存储你的文件,图片,音频,app包等等.创建bucket是要选择该bucket的权限,私有,公共读,公共读写,按需求选择.创建bucket时对应的endpoint要记住,上传文件需要用到. 可以配置bucket的生命周期,比如说某些文件有过期时间的,

  • SpringBoot整合阿里云OSS对象存储服务实现文件上传

    1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文档,这个获取值本身就不难. 重点:记下你的AccessKey ID.AccessKey Secret以及你刚才创建的Buacket名字BucketName. 2. 配置: 在pom里引入oss要用的依赖 <dependency> <groupId>com.aliyun.oss</

  • SpringBoot整合阿里云短信服务的方法

    目录 一.新建短信微服务 1.在service模块下创建子模块service-msm 3.配置application.properties 4.创建启动类 二.阿里云短信服务 三.编写发送短信接口 1.在service-msm的pom中引入依赖 2.编写controller,根据手机号发送短信 3.编写service 一.新建短信微服务 1.在service模块下创建子模块service-msm 2.创建controller和service代码 3.配置application.propertie

  • SpringBoot整合阿里云视频点播的过程详解

    目录 1.准备工作 2.服务端SDK的使用 2.1 导入依赖 2.2 初始化类 2.3 创建读取公共常量的工具类 2.4 获取视频播放地址 2.5 获取视频播放凭证 2.6 上传视频到阿里云视频点播服务 3.springboot项目中实践 3.1 上传视频到阿里云 3.2 根据视频id删除视频 1.准备工作 首先需要在阿里云开通视频点播服务: 1.首先,进入到阿里云视频点播平台,点击开通服务,选择按使用流量计费即可 2.开通之后点击进入管理控制台即可 视频点播有什么用? 视频点播(ApsaraV

  • SpringBoot整合阿里云开通短信服务详解

    准备工作 开通短信服务 如果开通不成功,就只能借下别人已经开通好的短信,如果不想重复,可在其下创建一个新的模板管理 这里只是介绍如何使用 导入依赖 com.aliyun aliyun-java-sdk-core 4.5.1 com.aliyun aliyun-java-sdk-dysmsapi 1.1.0 com.alibaba fastjson 1.2.62 发送验证码到手机上,验证码生成工具类(内容较为固定,也可根据需求改) package com.xsha.msmservice.utils

  • springboot+thymeleaf整合阿里云OOS对象存储图片的实现

    目录 1.先引入pom依赖 2.编写前端thymleeaf代码tetsfile.html 3.service层编写 4.controller层编写 今天再进行创建项目时想使用阿里云oos进行存储图片 下面进行实操 1.先引入pom依赖 <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.9.1

随机推荐