springboot 发邮件
时间: 2024-12-26 22:11:07 浏览: 54
Spring Boot 提供了内置的支持,使得发送电子邮件变得更加简单。你可以使用JavaMail库,这是Spring框架的一个常用集成组件,用于处理SMTP协议发送邮件。以下是基本步骤:
1. 添加依赖:在你的`pom.xml`文件中添加JavaMail和Spring Mail的依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
```
2. 配置邮箱服务:在application.properties或application.yml中配置发件人邮箱、SMTP服务器信息等:
```properties
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=<your-email>
spring.mail.password=<your-password>
spring.mail.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
```
3. 创建模板(可选):如果你希望邮件内容来自HTML模板,可以创建一个`.html`文件并在Java中读取。
4. 实现EmailService接口:创建一个接口,例如`EmailService`,包含发送邮件的方法:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
public interface EmailService {
void sendEmail(String to, String subject, String templateName);
}
```
5. 使用JavaMailSender发送邮件:
```java
@Service
public class EmailServiceImpl implements EmailService {
@Autowired
private JavaMailSender javaMailSender;
@Override
public void sendEmail(String to, String subject, String templateName) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
if (templateName != null) {
try {
// 如果有模板,加载并设置邮件内容
message.setText(templateUtils.readTemplateAsString(templateName));
} catch (IOException e) {
throw new RuntimeException("Failed to read email template", e);
}
} else {
// 如果没有模板,直接设置纯文本内容
message.setText("Your email content here");
}
javaMailSender.send(message);
}
}
```
阅读全文
相关推荐


















