温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Boot中Mail服务发送邮件

发布时间:2024-11-15 12:20:00 来源:亿速云 阅读:79 作者:小樊 栏目:编程语言

在Spring Boot中,我们可以使用内置的JavaMailSender接口来发送邮件。以下是配置和使用JavaMailSender发送邮件的步骤:

  1. 添加依赖

pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
  1. 配置邮件发送参数

application.propertiesapplication.yml文件中添加以下配置:

# application.properties
spring.mail.host=smtp.example.com
spring.mail.port=587
spring.mail.username=your_email@example.com
spring.mail.password=your_email_password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
# application.yml
spring:
  mail:
    host: smtp.example.com
    port: 587
    username: your_email@example.com
    password: your_email_password
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true

请根据您的邮箱服务提供商提供的SMTP服务器信息进行相应的修改。

  1. 创建邮件发送服务

创建一个名为EmailService的类,并注入JavaMailSender接口:

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 EmailService {

    @Autowired
    private JavaMailSender javaMailSender;

    public void sendSimpleMessage(String to, String subject, String text) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(to);
        message.setSubject(subject);
        message.setText(text);
        javaMailSender.send(message);
    }
}
  1. 使用邮件发送服务

在需要发送邮件的地方,注入EmailService并调用sendSimpleMessage方法:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class EmailController {

    @Autowired
    private EmailService emailService;

    @GetMapping("/sendEmail")
    public String sendEmail() {
        emailService.sendSimpleMessage("recipient@example.com", "Test Subject", "Test email body");
        return "Email sent!";
    }
}

现在,当您访问/sendEmail端点时,应该会收到一封包含指定主题和文本的电子邮件。您可以根据需要自定义sendSimpleMessage方法以发送更复杂的邮件。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI