// 导入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命名空间

发送邮件
<label for='subject'>邮件主题:</label>
<input type='text' id='subject' name='subject' required />

<label for='content'>邮件内容:</label>
<textarea id='content' name='content' required></textarea>

<button type='submit'>发送邮件</button>

// 在后端使用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 '邮件发送失败'; } } }
Spring Boot & Thymeleaf 实现邮件发送功能教程:代码示例和注释

原文地址: https://www.cveoy.top/t/topic/omYs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录