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();
        }
    }
}

运行测试

相关推荐
月明长歌1 分钟前
【码道初阶】【Leetcode606】二叉树转字符串:前序遍历 + 括号精简规则,一次递归搞定
java·数据结构·算法·leetcode·二叉树
原来是好奇心3 分钟前
深入Spring Boot源码(八):高级特性与扩展点深度解析
java·源码·springboot
oioihoii6 分钟前
C++共享内存小白入门指南
java·c++·算法
@淡 定12 分钟前
线程安全的日期格式化:避免 SimpleDateFormat 并发问题
java
qq_124987075314 分钟前
基于springboot框架的小型饮料销售管理系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·毕业设计
CodeAmaz37 分钟前
JVM一次完整GC流程详解
java·jvm·gc流程
降临-max1 小时前
JavaWeb企业级开发---Ajax、
java·ajax·maven
NMBG221 小时前
外卖综合项目
java·前端·spring boot
小徐Chao努力1 小时前
Spring AI Alibaba A2A 使用指南
java·人工智能·spring boot·spring·spring cloud·agent·a2a
rannn_1111 小时前
【Git教程】概述、常用命令、Git-IDEA集成
java·git·后端·intellij-idea