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 {@AutowiredJavaMailSendermailSender;@AutowiredMailPropertiesmailProperties;/*** 发送邮件测试方法*/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 {@AutowiredStringEncryptor stringEncryptor;@Testpublic void encryptPwd() {String result = stringEncryptor.encrypt("XXXX");System.out.println(result);}
}

4、密文替换

在ENC()中添加对应密文

password: ENC(Grg2n2TYzgJv9zpwufsf37ndTe+M1cYk)   #密码

SpringBoot整合JavaMail通过阿里云企业邮箱发送邮件相关推荐

  1. 基于nodemailer使用阿里云企业邮箱发送邮件(526错误的解决)

    在虽然日常生活中,QQ,微信等即时聊天工具几乎主导了人们的生活,但是邮件依然是现代生活不可缺少的一部分.这篇文章主要讲述使用node.js 中的nodemail模块操作阿里云的企业邮箱发送邮件 (52 ...

  2. 阿里云企业邮箱发送邮件失败,在本地测试可行,在云服务器上失败

    最近公司有个业务,让我做一个发邮件的功能,前端传信息给后端,然后让我直接把信息传到某企业邮箱上去,本人用阿里云企业邮箱做好功能之后在本地测试没有问题,但是上传到公司服务器之后却一直显示错误. 找到服务 ...

  3. springBoot集成阿里云企业邮箱

    前言 springboot项目,集成阿里云企业邮箱,进行邮件发送,附带文件 代码 public class AliyunMail {public static final String ALIDM_S ...

  4. 阿里云企业邮箱收费吗

      阿里云企业邮箱收费吗,企业邮箱哪个便宜好用,阿里企业邮箱怎么试用,怎么办理阿里企业邮箱询"阿里邮箱华南400服务0662020中心"(汇华科技).根据部署模式,云计算可分为公有 ...

  5. 钉钉邮箱登录入口_阿里企业邮箱发信失败 报错:554reject by content_「阿里云企业邮箱_阿里企业邮箱」指定经销商热线:400-855...

    问题场景: 当前阿里云企业邮箱用户因发送垃圾邮件导致账号被封禁外发的解封,需要通过发起工单方式申请解封. 操作流程: 进入工单提交页面. 单击提交工单> 企业邮箱 > 选择常见问题 > ...

  6. 阿里云企业邮箱哪个代理商好

    阿里云企业邮箱哪个代理商好,阿里云企业邮箱开通,阿里企业邮箱怎么注册,阿里云邮箱企业版试用询"阿里邮箱华南400服务066中心2020"(汇华科技),2015年5月,钉钉正式推出了 ...

  7. 手把手阿里云企业邮箱设置教程三步搞定

    阿里云企业邮箱购买后如何使用?很简单,先在企业邮箱使用域名处添加邮箱所需的MX.CNAME解析,然后设置密码,最后分配员工账号,即可完成阿里云企业邮箱的开通流程,阿小云来详细说下阿里云企业邮箱开通指南 ...

  8. 阿里云企业邮箱怎么开通?

    阿里云企业邮箱怎么开通,步骤: 1.添加解析   2.设置密码   3.分配员工账号 域名解析生效后,通过"mail.您的域名"地址进入邮箱登录界面,输入正确用户名和密码登录邮箱. ...

  9. [prometheus]Step7-prometheus使用阿里云企业邮箱告警

    prometheus使用阿里云企业邮箱告警 修改/data/alertmanager/alertmanager.yml 加入邮件配置 # 全局配置项 global:resolve_timeout: 5 ...

最新文章

  1. 【C#公共帮助类】给大家分享一些加密算法 (DES、HashCode、RSA、AES等)
  2. http协议的状态码
  3. HTML DOM 方法
  4. C++ 多态实现机制
  5. 【九省联考2018】秘密袭击【树形dp】【生成函数】【线段树合并】【多项式插值】
  6. tex中把参考文献标题删除
  7. 测试中常见bug总结
  8. 软件系统换服务器地址,软件系统换服务器地址
  9. Asp.Net MVC4入门指南(7):给电影表和模型添加新字段
  10. java taglib开发_Java WEB开发实战 之 第六部分:Taglib基本知识和基本开发【私塾在线原创】...
  11. USB免驱NFC读写器 Android系统中NFC读写范例
  12. 计算机鼠标游戏教学法,练习使用鼠标教案
  13. 利用 MATLAB 绘制正态分布曲线
  14. 一个开源数据分析平台的搭建方法
  15. Unity 扫描 二维码
  16. 利用python批量读取图片的EXIF信息并保存为txt文件
  17. win10/win11添加本地普通账户/管理员账户/win10修改/禁用pin码
  18. MT2523用户手册,MT2523设计指南资料
  19. linux创建两块20G的磁盘,Linux 创建及扩展逻辑卷
  20. HTML-----图像,超链接,锚链接,网页布局

热门文章

  1. gp库创建分区表方法
  2. csgo服务器取消自动踢人,CSGO踢出玩家Kick相关控制台指令
  3. SWIFT?CHIPS?CHAPS?CIPS?SPFS?INSTEX?全球支付结算系统简单对比
  4. 前端(微信小程序)渐变色
  5. opencv遍历像素的方式
  6. 【知识图谱】——8种Trans模型
  7. Simulink转FMU模型到Modelica仿真平台调用
  8. 超详细零信任市场解读
  9. window操作系统下的句柄机制说明
  10. vs2013 调用webapi出错,请求的资源不支持 http 方法“GET”