做线上网站需要多少钱,网站开发规范,dw网页设计报告,专业格泰网站建设springboot集成邮件发送的使用示例 步骤概述1. 引入依赖2. 配置邮件发送3. 发送简单邮件4. 发送 HTML 邮件5. 发送带附件的邮件6. 定时邮件发送 使用 Spring Boot 发送邮件时#xff0c;通常的应用场景包括用户注册、密码重置和各种验证流程。这里我将展示一个以验证码发送为例… springboot集成邮件发送的使用示例 步骤概述1. 引入依赖2. 配置邮件发送3. 发送简单邮件4. 发送 HTML 邮件5. 发送带附件的邮件6. 定时邮件发送 使用 Spring Boot 发送邮件时通常的应用场景包括用户注册、密码重置和各种验证流程。这里我将展示一个以验证码发送为例的实现涵盖了邮件发送的基本配置和高级功能如定时邮件发送、HTML 内容和附件。 步骤概述
引入依赖 添加 Spring Boot Starter Mail 依赖项。配置邮件发送 配置 SMTP 服务器和邮件发送器。发送简单邮件 发送简单的文本邮件。发送 HTML 邮件 发送包含 HTML 内容的邮件。发送带附件的邮件 发送包含附件的邮件。定时邮件发送 使用 Spring 定时任务发送邮件。
1. 引入依赖
在 pom.xml 文件中添加 Spring Boot Starter Mail 依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-mail/artifactId
/dependency2. 配置邮件发送
在 application.properties 或 application.yml 中配置 SMTP 服务器信息
spring.mail.hostyour_smtp_host
spring.mail.portyour_smtp_port
spring.mail.usernameyour_username
spring.mail.passwordyour_password
spring.mail.properties.mail.smtp.authtrue
spring.mail.properties.mail.smtp.starttls.enabletrue3. 发送简单邮件
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 {Autowiredprivate JavaMailSender emailSender;public void sendSimpleMessage(String to, String subject, String text) {SimpleMailMessage message new SimpleMailMessage();message.setTo(to);message.setSubject(subject);message.setText(text);emailSender.send(message);}
}4. 发送 HTML 邮件
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;Service
public class EmailService {Autowiredprivate JavaMailSender emailSender;public void sendHtmlMessage(String to, String subject, String htmlBody) throws MessagingException {MimeMessage message emailSender.createMimeMessage();MimeMessageHelper helper new MimeMessageHelper(message, true);helper.setTo(to);helper.setSubject(subject);helper.setText(htmlBody, true);emailSender.send(message);}
}5. 发送带附件的邮件
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.io.File;Service
public class EmailService {Autowiredprivate JavaMailSender emailSender;public void sendMessageWithAttachment(String to, String subject, String text, String pathToAttachment) throws MessagingException {MimeMessage message emailSender.createMimeMessage();MimeMessageHelper helper new MimeMessageHelper(message, true);helper.setTo(to);helper.setSubject(subject);helper.setText(text);FileSystemResource file new FileSystemResource(new File(pathToAttachment));helper.addAttachment(Attachment, file);emailSender.send(message);}
}6. 定时邮件发送
使用 Spring 的定时任务功能在需要定时发送的方法上加上 Scheduled 注解
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;Component
public class ScheduledEmail {private final EmailService emailService;public ScheduledEmail(EmailService emailService) {this.emailService emailService;}Scheduled(cron 0 0 8 * * ?) // 每天早上8点发送邮件public void sendScheduledEmail() {// 发送邮件逻辑emailService.sendSimpleMessage(recipientexample.com, Subject, Content);}
}以上代码提供了基本的邮件发送逻辑和定时任务配置。在实际应用中请替换相关信息例如邮件主题、内容、收件人地址以及附件路径等。