springboot集成mail邮件发送

本文详细介绍了如何使用Spring Boot集成邮件服务,通过QQ邮箱的SMTP服务器发送邮件,包括配置邮件服务、添加依赖、编写邮件发送代码等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一步:

以QQ邮箱为例,邮箱>设置>账户。开启POP3/SMTP服务、手机验证、获取授权码。

第二步:

pom.xml依赖
<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

第三步:

application.properties配置

spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=xxx@qq.com邮箱账户
spring.mail.password=授权码
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true

第四步:

 

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Component;

/**
 * 邮件发送
 * @author HZQ
 * @date 2019/3/14 0014 9:45
 */
@Component
public class EmailService {

    @Autowired
    JavaMailSender javaMailSender;

    /**
     * 发送简单邮箱
     * @param from
     *          发送方
     * @param to
     *          接收方
     * @param cc
     *          抄送
     * @param subject
     *          标题
     * @param content
     *          内容
     */
    public void sendSimpleMail(String from,
                               String to,
                               String cc,
                               String subject,
                               String content){

        SimpleMailMessage simpleMailMessage = new SimpleMailMessage();
        simpleMailMessage.setFrom(from);
        simpleMailMessage.setTo(to);
        simpleMailMessage.setCc(cc);
        simpleMailMessage.setSubject(subject);
        simpleMailMessage.setText(content);
        javaMailSender.send(simpleMailMessage);
    }
}

 

### Spring Boot 集成并实现发送电子邮件功能 在Spring Boot项目中集成并实现发送电子邮件的功能相对简单,主要是利用`JavaMailSender`接口来完成邮件发送。为了使这一过程更加便捷,Spring Boot提供了自动化配置的支持,这意味着开发者只需引入必要的依赖项,并做少量配置即可让应用具备发送邮件的能力。 对于具体的实施步骤而言,在构建基于Spring Boot的应用程序时,应当先向项目的pom.xml文件添加spring-boot-starter-mail依赖以获取处理邮件所需的基础库支持[^1]: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> ``` 随后,在application.properties或application.yml文件内指定SMTP服务器的相关参数,比如主机名、端口以及认证凭证等信息。这里给出的是采用YAML格式的一个例子,其中包含了设置QQ邮箱作为发信方所需的几个基本选项[^2]: ```yaml spring: mail: host: smtp.qq.com port: 587 username: your_email_account@qq.com password: your_authorization_code # 注意这不是登录密码而是授权码 ``` 定义用于执行实际邮件发送的服务类也是必不可少的一环。下面展示了一个简单的ServiceImpl实现方式,它内部封装了创建MimeMessage对象的过程,并调用了JavaMailSender实例的方法来进行最终的消息投递: ```java @Service public class MailService { private final JavaMailSender javaMailSender; @Autowired public MailService(JavaMailSender javaMailSender){ this.javaMailSender = javaMailSender; } public void sendSimpleEmail(String to, String subject, String text){ SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); javaMailSender.send(message); } } ``` 如果想要发送HTML格式的内容或是带有附件的复杂邮件,则可以考虑使用MimeMessage替代SimpleMailMessage,并借助MimeMessageHelper辅助工具进一步定制化邮件体结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值