SpringBoot 整合 Email

在Spring Boot中整合邮件服务通常涉及使用JavaMail API和Spring的邮件支持。以下是一个简单的步骤,演示如何在Spring Boot应用程序中整合邮件服务

添加依赖

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-mailartifactId>
dependency>

配置邮件参数

在 application.properties 中配置邮件服务器的相关参数

spring.mail.host=your-mail-server-host
spring.mail.port=your-mail-server-port
spring.mail.username=your-username
spring.mail.password=your-password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true

创建邮件服务

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 sendEmail(String to, String subject, String text) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(to);
        message.setSubject(subject);
        message.setText(text);

        javaMailSender.send(message);
    }
}

在服务或控制器中使用邮件服务

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("/send-email")
    public String sendEmail() {
        String to = "[email protected]";
        String subject = "Test Email";
        String text = "This is a test email from your Spring Boot application.";

        emailService.sendEmail(to, subject, text);

        return "Email sent successfully!";
    }
}

注意事项:

确保启用了 less secure apps,如果你是使用 Gmail,因为它可能需要较低的安全性设置。
要附件,内联图片等更复杂的邮件,你可能需要使用 MimeMessage 和 MimeMessageHelper,这提供了更多的控制权。
这只是一个简单的例子,你可以根据你的需求进行调整。希望这能帮助你整合邮件服务到你的Spring Boot应用程序中。

你可能感兴趣的:(spring,boot,java,spring)