springboot发送邮件

1. 依赖

java 复制代码
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

2. 在application.yml文件中配置JavaMail

java 复制代码
spring:
   mail:
    # 邮箱服务器
    host: smtp.qq.com
    # 邮箱
    username: xxxxxx@qq.com
    # 授权码,不是登录密码
    password: xxxxxxxx

授权码获取

各种邮箱获取授权码



3. 无附件,简单内容发送

java 复制代码
import com.itheima.service.SendMailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
 
@Service
public class SendMailServiceImpl implements SendMailService {
    @Autowired
    private JavaMailSender javaMailSender;
    //发送人
    private String from = "xxx@163.com";
    //接收人
    private String to = "xxx@qq.com";
    //标题
    private String subject = "测试邮件";
    //正文
    private String context = "测试邮件正文内容";
    @Override
    public void sendMail() {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setFrom(from+"(小甜甜)");
        message.setTo(to);
        message.setSubject(subject);
        message.setText(context);
        javaMailSender.send(message);
    }
}

运行测试

4. 带附件,图片发送

java 复制代码
import com.itheima.service.SendMailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import javax.mail.internet.MimeMessage;
import java.io.File;
 
@Service
public class SendMailServiceImpl2 implements SendMailService {
    @Autowired
    private JavaMailSender javaMailSender;
    //发送人
    private String from = "xxx@163.com";
    //接收人
    private String to = "xxx@qq.com";
    //标题
    private String subject = "测试邮件";
    //正文
    private String context = "<img src='https://img-blog.csdnimg.cn/8774575ed57d48159111f8f505235f89.png?x-oss-process=image/resize,m_fixed,h_300,image/format,png'/><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(context,true);
 
            //添加附件
            File f1 = new File("E:\\guigu\\springbooot\\springboot_23_mail\\target\\classes\\logo.png");
            File f2 = new File("E:\\guigu\\test\\src\\mail\\word1.docx");
 
            helper.addAttachment(f1.getName(),f1);
            helper.addAttachment("最靠谱的培训结构.png",f2);
 
            javaMailSender.send(message);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行测试

相关推荐
thefool1122661 分钟前
Java 面向对象
java
2501_948106914 分钟前
计算机毕业设计之jsp-智慧旅游分享平台
java·开发语言·spark·汽车·课程设计·旅游
阿里云云原生22 分钟前
Agent 不再是“玩具”!AgentScope Java 2.0 GA 发布:构建企业级分布式智能体底座
java·开发语言·分布式·agentscope
41541123 分钟前
MyBatis-Plus + PostGIS 实战(四):GeoJSON 序列化与前端地图对接,全局 WKT + 局部 GeoJSON,两种格式优雅共存
java·mybatis·postgis·geojson
峥嵘life37 分钟前
Andorid 打开热点,关闭有线网,ifconfig卡死分析解决
java·服务器·网络
HillVue1 小时前
Token 叙事退潮,DAA 重新定义 AI 价值标准
java·人工智能·eclipse
行者全栈架构师1 小时前
【码动四季】Spring Boot 可观测性体系:Micrometer + OpenTelemetry + Grafana 全链路搭建
java·算法·架构
TDengine (老段)1 小时前
TDengine JOIN 完整语法 — Inner/Outer/ASOF/Window 全语法详解
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
@灯神2 小时前
SpringAI系列|第1篇:SpringAI概述与快速上手
java·人工智能·spring·ai·ai编程
中国搜索直付通2 小时前
避开直付通选型暗礁:二级商户的合规生存与背景甄别
java·大数据·开发语言·人工智能·游戏