SpringBoot下配置动态发送邮箱功能

1.简要:(说的不对的地方欢迎指出)
SpringBoot下配置动态发送邮箱功能_第1张图片
我们公司系统采用的网易发邮件的方式,所以如果要发送邮件,需要每个人将下面这两种服务进行开启,记录授权码!!!非常重要,下面进行代码演示

SpringBoot下配置动态发送邮箱功能_第2张图片
SpringBoot下配置动态发送邮箱功能_第3张图片
2. 第三方系统配置了客户端,统一发送到网易的服务器端进行处理

  1. 配置信息

1.导入pom文件

        <dependency>
            <groupId>org.glassfish</groupId>
            <artifactId>javax.mail</artifactId>
            <version>3.0-b47</version>
        </dependency>

        <!-- https://mvnrepository.com/artifact/javax.xml.bind/activation -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>activation</artifactId>
            <version>1.0.2</version>
        </dependency>
2.创建pojo类封装参数

@Data
@AllArgsConstructor
@NoArgsConstructor
public class SendEmailVo {
    /**
     * 标题
     */
    private String title;
    /**
     * 内容
     */
    private String content;
    /**
     * 收件人
     */
    private String to;
    /**
     * 发件人
     */
    private String send;
}

表信息
在这里插入图片描述

3.省略controller层代码,编写service代码
       //根据发件人查询对应数据,这个可以忽略是我写的逻辑
        UserMailboxConfig mailboxConfig = userMailboxConfigMapper.sendEmail(sendEmailVo.getSend());
        //创建一个JavaMailSenderImpl对象
        JavaMailSenderImpl jms = new JavaMailSenderImpl();
        //服务器名
        jms.setHost(mailboxConfig.getSmtp());
        //网易账号
        jms.setUsername(mailboxConfig.getFromAccount());
        //网易授权码,我开头说过啦
        jms.setPassword(mailboxConfig.getAuthorizationCode());
        //设置编码防止乱码
        jms.setDefaultEncoding("utf-8");
        Properties p = new Properties();
        p.setProperty("mail.smtp.auth", "true");
        jms.setJavaMailProperties(p);
        //1.创建一个邮箱对象
        MimeMessage mimeMessage = jms.createMimeMessage();
        try {
            MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true);
            //收件人
            String[] split = sendEmailVo.getTo().split(",");
            messageHelper.setTo(split);
            //标题
            messageHelper.setSubject(sendEmailVo.getTitle());
            //内容
            messageHelper.setText(sendEmailVo.getContent(), true);
            //发件人
            messageHelper.setFrom(sendEmailVo.getSend());
           
            jms.send(mimeMessage);
        } catch (MessagingException e) {
            e.printStackTrace();
        }

发送邮件功能就完毕了赶快试试吧哈哈哈如果有问题欢迎指出

你可能感兴趣的:(spring,boot,后端,java)