• 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、成功

     

  • 相关阅读:
    LeetCode 773. Sliding Puzzle
    oracle latch工作原理
    Oracle关于锁的几种类型和参数
    Java的反射机制
    JAVA多线程与并发学习总结
    Spring 概念详解
    Spring的AOP
    spring面试题 对DI , AOP概念的理解
    双11的架构
    Java线程的定义
  • 原文地址:https://www.cnblogs.com/mvpmvp/p/13684473.html
Copyright © 2020-2023  润新知