• springboot框架集成邮箱功能


    大致步骤还是遵循三部曲(导包配置)

    1、导包

    首先导入必要的包,版本默认和web版本一致

    <dependency>
           <groupId>org.springframework.boot</groupId>
           <artifactId>spring-boot-starter-mail</artifactId>
     </dependency>
    

    2、配置

    首先开启邮箱的SMTP服务:

    首先打开自己的qq邮箱,然后打开设置中的账户

     然后通过短信开启POP3/SMTP服务,记下自己的授权码

     然后使用IMAP服务

    最后配置项目的配置文件,端口号要用默认的25,如下:

    spring:
      mail:
        host: smtp.qq.com
        username: qq邮箱
        password: 授权码
        port: 25
        default-encoding: utf-8
    

    3、测试

    测试就直接上代码了

    public class MyTest {
    
        @Resource
        JavaMailSenderImpl javaMailSender;
        
        @Test
        public void handler(){
            MimeMessage mimeMessage = javaMailSender.createMimeMessage();
            try {
                MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage,true);
                mimeMessageHelper.setFrom("发送人邮箱","发送人昵称");
                mimeMessageHelper.setTo("接收人邮箱");
                mimeMessageHelper.setSubject("标题");
                mimeMessageHelper.setText("内容");
                javaMailSender.send(mimeMessage);
                System.out.println("发送完成");
            } catch (MessagingException e) {
                e.printStackTrace();
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
        }
    
    }
    

    4、封装应用

    首先封装一个实体类包括如下属性

    public class MailVo {
        private String to;//发送给谁
        private String from;//谁发送的
        private String personal;//用户民
        private String subject;//主题
        private String content;//内容
    }
    

     然后通过一个实体对象来请求邮件

    @Resource
    JavaMailSender javaMailSender;
    
    @PostMapping("/send")
    CommonResult send(MailVo mailVo){
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        try {
            MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
                helper.setFrom(mailVo.getFrom(),mailVo.getPersonal());
                helper.setTo(mailVo.getTo());
                helper.setSubject(mailVo.getSubject());
                helper.setText(mailVo.getContent(),true);
                javaMailSender.send(mimeMessage);
         } catch (MessagingException e) {
                e.printStackTrace();
         } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
         }
    }

    这样就可以成功发送邮件了。当然邮件的内容不止文字的形式,还可以发送html格式等等。

     5、成功

     

  • 相关阅读:
    idea打开了多个项目,多idea窗口相互切换的快捷键
    idea中的springboot项目如何不用重新编译,自动热部署
    线程基本使用--Thread内部方法调用start
    java如何快速创建List
    抓包工具Charles使用
    postman添加Cookie
    Ubuntu使用记录
    Intellij idea使用总结
    navicat 生成注册码( 仅供学习使用 )
    前端常用技术总结
  • 原文地址:https://www.cnblogs.com/mvpmvp/p/13684473.html
Copyright © 2020-2023  润新知