溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Spring Boot中Mail服務(wù)發(fā)送郵件

發(fā)布時(shí)間:2024-11-15 12:20:00 來(lái)源:億速云 閱讀:78 作者:小樊 欄目:編程語(yǔ)言

在Spring Boot中,我們可以使用內(nèi)置的JavaMailSender接口來(lái)發(fā)送郵件。以下是配置和使用JavaMailSender發(fā)送郵件的步驟:

  1. 添加依賴

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

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
  1. 配置郵件發(fā)送參數(shù)

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

請(qǐng)根據(jù)您的郵箱服務(wù)提供商提供的SMTP服務(wù)器信息進(jìn)行相應(yīng)的修改。

  1. 創(chuàng)建郵件發(fā)送服務(wù)

創(chuàng)建一個(gè)名為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. 使用郵件發(fā)送服務(wù)

在需要發(fā)送郵件的地方,注入EmailService并調(diào)用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!";
    }
}

現(xiàn)在,當(dāng)您訪問(wèn)/sendEmail端點(diǎn)時(shí),應(yīng)該會(huì)收到一封包含指定主題和文本的電子郵件。您可以根據(jù)需要自定義sendSimpleMessage方法以發(fā)送更復(fù)雜的郵件。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI