0
点赞
收藏
分享

微信扫一扫

使用spring-boot-starter-mail发送邮件

凌得涂 2023-05-12 阅读 96

前言

这里使用的是spring-boot-starter-mail, 当然了,你也可以使用com.sun.mail(javax.mail)Hutool对这个进行了封装, 但是我的项目是springboot3javax改为了jakarta,导致我无法使用Hutool封装的(在我写这篇文章时) 所以,自己写咯,既然自己写,那就用springboot提供的mail包咯

这里以最简单的纯文本邮件为例,需要看HTML、带附件的,可以参考 https://gitee.com/yb2cc1314/spring-boot-realizes-sending

POM依赖

<!-- 邮件收发 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>

测试类

package cn.daenx.myadmin;

import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;

import java.util.Properties;

public class testSend {
    public static void main(String[] args) {
        JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl();
        javaMailSender.setHost("smtp.qq.com");
        javaMailSender.setUsername("5201314@qq.com");
        javaMailSender.setPassword("ewduxxxxxxxhgd");
        javaMailSender.setPort(587);
        javaMailSender.setDefaultEncoding("UTF-8");
        javaMailSender.setProtocol(JavaMailSenderImpl.DEFAULT_PROTOCOL);
        Properties properties = new Properties();
        properties.setProperty("mail.smtp.timeout", "25000");
        properties.setProperty("mail.smtp.auth", "true");
        properties.setProperty("mail.smtp.socketFactoryClass", "javax.net.ssl.SSLSocketFactory");
        javaMailSender.setJavaMailProperties(properties);

        //1、创建邮件对象(设置参数后提交)
        SimpleMailMessage message = new SimpleMailMessage();

        //2、设置主题
        message.setSubject("测试发送邮件3");
        //3、设置邮件发送者
        //message.setFrom("5201314@qq.com");
        message.setFrom("MyAdmin<5201314@qq.com>");
        //4、设置邮件接受者,多个接受者传参为数组格式
        String toEmail = "1330166565@qq.com,testwy@163.com";
        message.setTo(toEmail.split(","));
        //5、设置邮件正文(邮件的正式内容)
        message.setText("这是一封测试邮件,收到即为正常");

        javaMailSender.send(message);
    }
}

举报

相关推荐

0 条评论