zoukankan      html  css  js  c++  java
  • Spring Boot 学习----邮件服务

    Spring Boot 使用邮件服务

    开启邮件服务

    这里的邮件服务可以是自己搭的邮箱服务器,也可以是第三方的邮箱。

    本人使用的是网易的163邮箱。

    操作步骤如下:

    1. 登陆网易邮箱163
    2. 在设置中打开并勾选POP3/SMTP/IMAP服务
    3. 然后会得到一个授权码,这个邮箱和授权码将用作登陆认证。

    添加maven依赖

    这里使用spring 官方给我们提供的邮箱操作库。

    坐标如下:

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

    添加邮箱服务器配置

    spring.mail.host=smtp.163.com(服务器地址)
    spring.mail.username=你的账户
    spring.mail.password=授权码
    spring.mail.properties.from=你的邮箱
    

    编写发送邮件业务

    邮件VO

    @Data
    public class MailVo {
        private String id;
        private String from;
        private String to;
        private String subject;
        private String text;
        private Date sentDate;
        private String cc;
        private String bcc;
        private boolean status;
        private String error;
        @JsonIgnore
        private MultipartFile[] multipartFiles;
    }
    

    发送邮件业务

     @Override
        public void sendMimeMail(MailVo mailVo) {
            try {
                MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(javaMailSender.createMimeMessage(), true);
                mailVo.setFrom(javaMailSender.getJavaMailProperties().getProperty("from"));
                mimeMessageHelper.setFrom(mailVo.getFrom());
                mimeMessageHelper.setTo(mailVo.getTo().split(","));
                mimeMessageHelper.setSubject(mailVo.getSubject());
                mimeMessageHelper.setText(mailVo.getText());
                if (!StringUtils.isEmpty(mailVo.getCc())) {
                    mimeMessageHelper.setCc(mailVo.getCc().split(","));
                }
                if (!StringUtils.isEmpty(mailVo.getBcc())) {
                    mimeMessageHelper.setBcc(mailVo.getBcc().split(","));
                }
                if (!StringUtils.isEmpty(mailVo.getSentDate())){
                    mailVo.setSentDate(new Date());
                    mimeMessageHelper.setSentDate(mailVo.getSentDate());
                }
                //  如果有附件
                if (mailVo.getMultipartFiles() != null) {
                    for (MultipartFile file : mailVo.getMultipartFiles()) {
                        mimeMessageHelper.addAttachment(file.getOriginalFilename(),file);
                    }
                }
                //  发送
                javaMailSender.send(mimeMessageHelper.getMimeMessage());
                mailVo.setStatus(true);
                logger.info("发送邮件成功:{}->{}", mailVo.getFrom(), mailVo.getTo());
            } catch (MessagingException e) {
                e.printStackTrace();
            }
        }
    

    ps:最后调用服务发送邮件,这里就不阐述了。

    最后附上一张收到的邮件截图:

    祝大家好运。

  • 相关阅读:
    CodeForces 681D Gifts by the List (树上DFS)
    UVa 12342 Tax Calculator (水题,纳税)
    CodeForces 681C Heap Operations (模拟题,优先队列)
    CodeForces 682C Alyona and the Tree (树上DFS)
    CodeForces 682B Alyona and Mex (题意水题)
    CodeForces 682A Alyona and Numbers (水题,数学)
    Virtualizing memory type
    页面跳转
    PHP Misc. 函数
    PHP 5 Math 函数
  • 原文地址:https://www.cnblogs.com/bananafish/p/12354285.html
Copyright © 2011-2022 走看看