springboot 发邮件代码
时间: 2024-11-29 19:13:55 浏览: 15
在Spring Boot中发送电子邮件通常涉及到配置一个邮箱服务和使用JavaMail API。以下是一个简单的示例代码片段:
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.JavaMailSenderImpl;
@Configuration
public class EmailConfig {
@Bean
public JavaMailSender javaMailSender() {
JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
// 邮箱服务器配置
mailSender.setHost("smtp.example.com");
mailSender.setUsername("your-email@example.com"); // 发件人邮箱地址
mailSender.setPassword("your-password"); // 发件人邮箱密码
// 如果使用SSL/TLS加密
mailSender.setPort(587); // 或者465如果使用SSL
mailSender.setProtocol("smtps");
Properties props = mailSender.getJavaMailProperties();
props.put("mail.transport.protocol", "smtps"); // 设置传输协议
props.put("mail.smtp.auth", true); // 开启SMTP认证
props.put("mail.smtp.starttls.enable", true); // 启用STARTTLS
return mailSender;
}
}
// 使用邮件发送服务的类
@Service
public class MailService {
private final JavaMailSender javaMailSender;
@Autowired
public MailService(JavaMailSender javaMailSender) {
this.javaMailSender = javaMailSender;
}
public void sendEmail(String to, String subject, String body) {
SimpleMailMessage message = new SimpleMailMessage();
message.setTo(to);
message.setSubject(subject);
message.setText(body);
try {
javaMailSender.send(message);
System.out.println("Email sent successfully.");
} catch (Exception e) {
System.out.println("Failed to send email: " + e.getMessage());
}
}
}
```
在这个例子中,`sendEmail`方法可以用于实际发送邮件。你只需要创建一个`MailService`的实例,并调用它的`sendEmail`方法。
阅读全文