boot集成的邮箱 spring_Springboot集成邮箱服务发送邮件

一、前言

Spring Email 抽象的核心是 MailSender 接口,MailSender 的实现能够把 Email 发送给邮件服务器,由邮件服务器实现邮件发送的功能。

Spring 自带了一个 MailSender 的实现 JavaMailSenderImpl,它会使用 JavaMail API 来发送 Email。Spring 或 SpringBoot 应用在发送 Email 之前,我们必须要 JavaMailSenderImpl 装配为 Spring应用上下文的一个 bean。

二、添加依赖

1、pom.xml

org.springframework.boot

spring-boot-starter-mail

2、application.yml

个人测试邮箱和企业邮箱稍有不同

个人邮箱配置:

spring.mail.host: smtp.163.com

# 设置端口

spring.mail.port: 25

# 设置用户名

spring.mail.username: xxxxxx.com

# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码

spring.mail.password: xxxxxxxxx

# 设置是否需要认证,如果为true,那么用户名和密码就必须的,

# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。

spring.mail.properties.mail.smtp.auth: true

# STARTTLS[1] 是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。

spring.mail.properties.mail.smtp.starttls.enable: true

spring.mail.properties.mail.smtp.starttls.required: true

spring.mail.properties.mail.imap.starttls.socketFactory.fallback: false

spring.mail.properties.mail.smtp.starttls.socketFactory.class: com.ey.model.MailCommand

企业邮箱配置:

spring.mail.host: xxxxxxx.com

# 设置端口

spring.mail.port: 25

# 设置用户名

spring.mail.username: xxxxxxxxxx

# 设置密码,该处的密码是QQ邮箱开启SMTP的授权码而非QQ密码

spring.mail.password: xxxxxxxxx

# 设置是否需要认证,如果为true,那么用户名和密码就必须的,

# 如果设置false,可以不设置用户名和密码,当然也得看你的对接的平台是否支持无密码进行访问的。

spring.mail.properties.mail.smtp.auth: false

# STARTTLS[1] 是对纯文本通信协议的扩展。它提供一种方式将纯文本连接升级为加密连接(TLS或SSL),而不是另外使用一个端口作加密通信。

spring.mail.properties.mail.smtp.starttls.enable: true

spring.mail.properties.mail.smtp.starttls.required: fasle

spring.mail.properties.mail.imap.starttls.socketFactory.fallback: false

spring.mail.properties.mail.smtp.starttls.socketFactory.class: com.ey.model.MailCommand

3、示例代码

@Autowired

private JavaMailSender mailSender;

@ApiOperation("邮箱验证")

@RequestMapping(value = "/mailSender" , method = RequestMethod.POST)

public Result mailSender(String to) throws MessagingException {

SimpleMailMessage message = new SimpleMailMessage()

String html="\n" +"";

MimeMessage mimeMessage = mailSender.createMimeMessage();

MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);

messageHelper.setText(html, true);

messageHelper.setFrom(username);

messageHelper.setTo(to);

messageHelper.setSubject("【邮件主题】");

//message.setText("您正在完成会员认证,验证码是"+code);

mailSender.send(mimeMessage);

return Result.ok();

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值