首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >SpringBoot集成QQ邮箱发送邮件

SpringBoot集成QQ邮箱发送邮件

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

1.导入依赖

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

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

拉到此处(下图所示)

如果是关闭的 请开启 然后就可以得到 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下的包)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档