本文共 3530 字,大约阅读时间需要 11 分钟。
前言,我们这次案例使用QQ邮箱作为示例,作为发送者需要先完成相关的权限配置。以下是详细的操作和编码步骤。
授权操作流程:
接下来开始编码。首先创建一个Spring Boot项目,除了勾选web包外,还需要添加JavaMail Sender包。
项目创建完成后,查看pom.xml中的依赖包:
配置参数,application.properties文件需要填写以下信息:
接下来编写MailController.java:
package com.mail.elegant.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.io.FileSystemResource;import org.springframework.mail.MailException;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.mail.javamail.MimeMessageHelper;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import javax.mail.MessagingException;import javax.mail.internet.MimeMessage;import java.io.File;import java.util.Date;@RestControllerpublic class MailController { @Autowired private JavaMailSender javaMailSender; @PostMapping("sendSimpleMailMessage") public String sendSimpleMailMessage() { try { SimpleMailMessage message = new SimpleMailMessage(); message.setFrom("您的QQ邮箱地址"); message.setReplyTo("您的QQ邮箱地址"); String[] recipients = {"收件人邮箱1", "收件人邮箱2"}; message.setTo(recipients); message.setCc("抄送邮箱地址"); message.setSentDate(new Date()); message.setSubject("邮件标题"); message.setText("邮件正文内容"); javaMailSender.send(message); } catch (MailException e) { e.printStackTrace(); return "发送失败"; } return "发送成功"; } @PostMapping("sendEnclosureMailMessage") public String sendEnclosureMailMessage() { try { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setSubject("邮件标题"); helper.setFrom("您的QQ邮箱地址"); helper.setTo("收件人邮箱地址"); helper.setCc("抄送邮箱地址"); helper.setBcc("测试邮箱地址"); helper.setSentDate(new Date()); helper.setText("邮件正文内容"); helper.addAttachment("附件名", new File("附件路径")); javaMailSender.send(mimeMessage); } catch (MailException | MessagingException e) { e.printStackTrace(); return "发送失败"; } return "发送成功"; } @PostMapping("sendImageMailMessage") public String sendImageMailMessage() { try { MimeMessage mimeMessage = javaMailSender.createMimeMessage(); MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true); helper.setSubject("邮件标题"); helper.setFrom("您的QQ邮箱地址"); helper.setTo("收件人邮箱地址"); helper.setCc("抄送邮箱地址"); helper.setBcc("测试邮箱地址"); helper.setSentDate(new Date()); helper.setText("图片内容
", true); helper.addInline("图片ID", new FileSystemResource(new File("图片路径"))); javaMailSender.send(mimeMessage); } catch (MailException | MessagingException e) { e.printStackTrace(); return "发送失败"; } return "发送成功"; }}注意事项:1. 确保MailController.java中的邮箱地址与application.properties中的配置一致2. 附件和图片路径请根据实际项目路径填写3. 使用Postman分别测试接口,发送邮件后QQ邮箱会收到相应邮件 转载地址:http://hxwb.baihongyu.com/