Spring Boot使用本地SMTP服务器
时间: 2024-11-29 08:14:20 浏览: 4
Spring Boot 中使用本地 SMTP 服务器发送电子邮件通常涉及配置邮件服务。首先,你需要在项目中添加邮件相关的依赖,如 `spring-boot-starter-mail`。接下来,按照以下步骤进行设置:
1. **添加依赖**:
在你的 `pom.xml` 或者 `build.gradle` 文件中添加对邮件支持的依赖。
```xml
<!-- Maven -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
<!-- Gradle (Kotlin) -->
implementation 'org.springframework.boot:spring-boot-starter-mail'
```
2. **配置application.properties** 或 application.yml 文件:
创建一个文件,比如 `application.properties`,并在其中添加邮件服务器的相关配置:
```properties
spring.mail.host=localhost
spring.mail.port=25
spring.mail.username=<your-email-address>
spring.mail.password=<your-email-password>
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
```
这里假设你正在使用本地的 SMTP 端口 25,并启用 SSL/TLS 加密。替换 `<your-email-address>` 和 `<your-email-password>` 为你的邮箱地址和密码。
3. **配置Spring邮件模板**:
如果需要发送带有HTML内容的邮件,可以创建一个邮件模板,并在发送邮件的地方注入 `MessageSource` 来使用它。
4. **发送邮件**:
使用 `JavaMailSender` 接口发送邮件,例如在控制器或Service中:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
@Autowired
private JavaMailSender javaMailSender;
public void sendEmail(String to, String subject, String message) {
SimpleMailMessage mail = new SimpleMailMessage();
mail.setTo(to);
mail.setSubject(subject);
mail.setText(message);
javaMailSender.send(mail);
}
```
阅读全文