SpringBoot如何整合JavaMail发送邮件

后端 潘老师 3个月前 (12-06) 70 ℃ (0) 扫码查看

本文主要讲解关于SpringBoot如何整合JavaMail发送邮件相关内容,让我们来一起了解下吧!

导入坐标

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

配置

spring:
  mail:
    host: smtp.qq.com
    username: 1324@qq.com
    password:

写客户端

@Service
public class SendMailServiceImpl implements SendMailService {

    @Autowired
    private JavaMailSender javaMailSender;

    // 发送人
    private String from = "****@qq.com";
    // 接收人
    private String to  = "****@163.com";
    // 标题
    private String subject = "测试邮件";
    // 正文
    private String content = "测试邮件正文内容";
    @Override
    public void sendMail() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from+"(小甜甜)");
        message.setTo(to);
        message.setSubject(subject);
        message.setText(content);
        javaMailSender.send(message);
    }
}

SpringBoot整合JavaMail发多部件邮件

其实主要步骤和上面一样,主要是有一些改变

  1. 不在使用SimpleMailMessage ,而是使用MimeMessage
  2. 而且不能直接使用message设定属性,要借助MimeMessageHelper
  3. 发送多部件消息,比如附件,照片等信息,要指定MimeMessageHelper的multipart为true
            MimeMessageHelper helper = new MimeMessageHelper(message,true);

  1. 要发送超链接,要把helper.setText(content,true);的html设定为true
helper.setText(content,true);

其他的配置不变

@Service
public class SendMailServiceImpl2 implements SendMailService {

    @Autowired
    private JavaMailSender javaMailSender;

    // 发送人
    private String from = "****@qq.com";
    // 接收人
    private String to  = "****@163.com";
    // 标题
    private String subject = "测试邮件";
    // 正文
    private String content = "<a href='https://www.baidu.com'>点开有惊喜</a>";
    @Override
    public void sendMail() {


        try {
            MimeMessage message = javaMailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message,true);
            helper.setFrom(from+"(小甜甜)");
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content,true);

            // 添加附件
            File f1 = new File("****文件路径");
            File f2 = new File("***文件路径");

            helper.addAttachment(f1.getName(),f1);
            helper.addAttachment("这是文件名.png",f2);

            javaMailSender.send(message);
        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }

    }
}

好啦,以上就是关于SpringBoot如何整合JavaMail发送邮件相关的全部内容,希望对你有帮助。欢迎持续关注潘子夜个人博客(www.panziye.com),学习愉快哦!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/back/12174.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】