package com.aisi.template.service.impl; import com.aisi.template.service.EmailService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.stereotype.Service; @Slf4j @Service @RequiredArgsConstructor public class EmailServiceImpl implements EmailService { private final JavaMailSender mailSender; @Value("${spring.mail.username}") private String from; @Value("${app.password-reset.code-expire-minutes:10}") private Integer expireMinutes; @Override public void sendPasswordResetCode(String email, String code) { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom(from); message.setTo(email); message.setSubject("密码找回验证码"); message.setText(""" 您正在进行密码找回操作。 验证码:%s 有效期:%d 分钟 如果这不是您的操作,请忽略此邮件。 """.formatted(code, expireMinutes)); mailSender.send(message); log.info("已发送密码找回验证码到邮箱: {}", email); } }