springboot项目通过qq邮箱发送邮件

参考:https://www.cnblogs.com/happy4java/p/11205907.html

  1. 开启qq邮箱帐户设置中的smtp服务,并记下授权码(这个是之后配置用的密码)
  2. 在application.properties中引入依赖
  3. 注入JavaMailSender实例并发送邮件

引入依赖:
application.properties

spring.mail.host=smtp.qq.com
spring.mail.username=xxxxxx@qq.com // 开启smpt服务的qq邮箱
spring.mail.password=xxxxx // 授权码
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8

发送邮件

package com.example.demo;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class MailController {
    @Autowired
    private JavaMailSender javaMailSender;

    @RequestMapping("/getValicode")
    public String getValicode(String email) throws MessagingException {
        String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
        String code = "";
        if (email.matches(regex)) { // 这里简单作了下邮箱格式校验
            code = String.valueOf((int) (Math.random() * 10)) + String.valueOf((int) (Math.random() * 10))
                    + String.valueOf((int) (Math.random() * 10)) + String.valueOf((int) (Math.random() * 10)); // 验证码为4个随机个位数字
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
            messageHelper.setFrom("xxxxx@qq.com"); // 开启smtp服务的邮箱
            messageHelper.setTo(email);
            messageHelper.setSubject("标题");
            messageHelper.setText("内容:<h3>验证码:</h3><p>" + code + "</p>", true);
            javaMailSender.send(messageHelper.getMimeMessage());
        } else {
            System.out.println("邮箱输入格式错误");
        }
        return code;
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值