前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot集成QQ邮箱发送邮件

SpringBoot集成QQ邮箱发送邮件

作者头像
星辰sea
发布2022-10-29 09:25:08
1.8K0
发布2022-10-29 09:25:08
举报
文章被收录于专栏:星辰SEA星辰SEA

1.导入依赖

代码语言:javascript
复制
<dependency>     
    <groupId>com.sun.mail</groupId>     
    <artifactId>javax.mail</artifactId>     
    <version>1.5.6</version> 
</dependency>

2.获取QQ邮箱16位SMTP口令

拉到此处(下图所示)

image.png
image.png

如果是关闭的 请开启 然后就可以得到 16位SMTP

3.添加发送邮件的类(所有导包都是javax.mail下的包)

```java public void sendEmail(String email){ //创建Properties类 用于记录邮箱的一些属性 Properties props = new Properties();

代码语言:javascript
复制
    //表示SMTP发送邮件 必须进行身份验证
    props.put("mail.smtp.auth","true");
    //此处填写SMTP服务器
    props.put("mail.smtp.host","smtp.qq.com");
    //端口号 QQ端口号 587
    props.put("mail.smtp.port","587");
    //此处填写写信人账号
    props.put("mail.user","写信人账号");
    //此处填写16位SMTP口令
    props.put("mail.password","16位SMTP口令");

    //构建授权信息 用于SMTP进行身份验证
    Authenticator authenticator = new Authenticator() {
        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            //用户名密码
            String username = (String) props.get("mail.user");
            String password = (String) props.get("mail.password");
            return new PasswordAuthentication(username,password);
        }
    };
    //使用环境属性和授权信息 创建邮件会话
    Session mailSession = Session.getInstance(props, authenticator);
    //创建邮件消息
    MimeMessage mimeMessage = new MimeMessage(mailSession);
    //设置发件人
    InternetAddress form = null;
    try {
        form = new InternetAddress(props.get("mail.user").toString());
        mimeMessage.setFrom(form);
        
        InternetAddress to  = new InternetAddress(email);
        mimeMessage.setRecipients(Message.RecipientType.TO, String.valueOf(to));

        //设置邮件标题
        mimeMessage.setSubject("标题");

        //设置邮件内容体
        String content = "内容"
        mimeMessage.setContent(content,"text/html;charset=UTF8");

        //发送邮件
        Transport.send(mimeMessage);
        redisTemplate.opsForValue().set(email,code,15L,TimeUnit.MINUTES);

    } catch (MessagingException e) {
        e.printStackTrace();
    }
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.导入依赖
  • 2.获取QQ邮箱16位SMTP口令
  • 3.添加发送邮件的类(所有导包都是javax.mail下的包)
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档