Spring Boot & Thymeleaf 实现邮件发送功能教程:代码示例和注释
// 导入JavaMail的相关类 import java.util.Properties; import javax.mail.Message; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage;
public class EmailUtil {
// 邮件服务器主机名 private static final String MAIL_HOST = 'smtp.xxx.com';
// 邮件服务器端口号 private static final int MAIL_PORT = 25;
// 发件人邮箱地址 private static final String SENDER_EMAIL = 'sender@xxx.com';
// 发件人邮箱密码 private static final String SENDER_PASSWORD = 'password';
/**
- 发送邮件方法
- @param receiverEmail 收件人邮箱地址
- @param subject 邮件主题
- @param content 邮件内容
- @throws Exception */ public static void sendEmail(String receiverEmail, String subject, String content) throws Exception { // 创建邮件属性 Properties props = new Properties(); props.put('mail.smtp.host', MAIL_HOST); props.put('mail.smtp.port', MAIL_PORT); props.put('mail.smtp.auth', 'true'); props.put('mail.smtp.starttls.enable', 'true');
// 创建邮件会话
Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() {
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication(SENDER_EMAIL, SENDER_PASSWORD);
}
});
// 创建邮件消息
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(SENDER_EMAIL));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(receiverEmail));
message.setSubject(subject);
message.setText(content);
// 发送邮件
Transport.send(message);
} }
// 前端使用thyme leaf实现发送邮件功能 // 在html页面中引入thyme leaf命名空间
// 在后端使用Spring Boot接收前端传递的参数并调用发送邮件方法 @RestController public class EmailController {
// 注入邮件发送工具类 @Autowired private EmailUtil emailUtil;
/**
- 发送邮件接口
- @param receiverEmail 收件人邮箱地址
- @param subject 邮件主题
- @param content 邮件内容
- @return 发送结果 */ @PostMapping('/sendemail') public String sendEmail(@RequestParam('receiverEmail') String receiverEmail, @RequestParam('subject') String subject, @RequestParam('content') String content) { try { // 调用发送邮件方法 emailUtil.sendEmail(receiverEmail, subject, content); return '邮件发送成功'; } catch (Exception e) { e.printStackTrace(); return '邮件发送失败'; } } }
原文地址: https://www.cveoy.top/t/topic/omYs 著作权归作者所有。请勿转载和采集!