package org.springblade.mdm.commons.service; import jakarta.mail.MessagingException; import jakarta.mail.internet.MimeMessage; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.io.FileSystemResource; import org.springframework.mail.SimpleMailMessage; import org.springframework.mail.javamail.JavaMailSender; import org.springframework.mail.javamail.MimeMessageHelper; import org.springframework.stereotype.Service; import java.io.File; @Service @Slf4j public class EmailService { @Autowired private JavaMailSender mailSender; public void sendSimpleEmail(String to, String subject, String text) { SimpleMailMessage message = new SimpleMailMessage(); message.setTo(to); message.setSubject(subject); message.setText(text); message.setFrom("zhangxiaoxu@qianwen.ltd"); mailSender.send(message); log.info("Simple email sent to: {}", to); } public void sendHtmlEmail(String to, String subject, String htmlContent) throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true, "UTF-8"); helper.setTo(to); helper.setSubject(subject); helper.setText(htmlContent, true); // true 表示 HTML 内容 helper.setFrom("zhangxiaoxu@qianwen.ltd"); mailSender.send(message); log.info("HTML email sent to: {}", to); } public void sendEmailWithAttachment(String to, String subject, String text, File attachment) throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(message, true); helper.setTo(to); helper.setSubject(subject); helper.setText(text); helper.setFrom("noreply@example.com"); // 添加附件 FileSystemResource file = new FileSystemResource(attachment); helper.addAttachment(attachment.getName(), file); mailSender.send(message); log.info("Email with attachment sent to: {}", to); } }