一、前言
在当今的信息技术时代,电子邮件已成为全球范围内最广泛使用的通信方式之一。它不仅连接了个人用户,也是企业内部和企业之间沟通的重要工具。随着互联网技术的不断发展,电子邮件的功能已经远远超出了简单的文本消息传递,它现在可以包含HTML内容、附件、图片链接等多种媒体形式,成为了一个多功能的通信平台。在这样的背景下,Spring Boot作为一个轻量级的、基于Java的企业级应用开发框架,其整合邮件发送功能显得尤为重要,下面我将结合Spring Boot项目,与qq邮箱整合邮件发送。
二、项目实现
1、前置条件准备
(1)、获取qq邮箱邮件发送密钥
步骤如下:打开qq邮箱-登录-打开设置-选择账号选项-找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务选项-点击继续获取密钥-
按步骤完成验证获取步骤。
操作图如下:
2、项目代码编写
(1)进行配置类编写
基于自己项目的配置类 编写邮箱类型、配置邮箱账号与授权码
(2)进行依赖添加
打开pom.xml文件 在以下添加依赖 依赖如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
(3)编写控制类
创建一个控制类,用于处理与邮件发送相关的HTTP请求。
以下是代码示例:
package com.example.yin.controller;
import com.example.yin.common.R;
import com.example.yin.model.domain.MailInfo;
import com.example.yin.service.impl.MailServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@RestController
@RequestMapping("/mail") // 邮件相关的请求统一通过 /mail 路径访问
public class MailController {
@Autowired
private MailServiceImpl MailService;
@PostMapping("/sendSimpleMail")
public R sendSimpleMail(@RequestBody MailInfo mailInfo) {
// 调用 MailServerImpl 发送简单邮件
return MailService.sendSimplEmail(mailInfo);
}
@PostMapping("/filemail")
public R sendAttachmentMail(@RequestParam("cc") String cc, @RequestParam("content") String content
,@RequestParam("from") String from, @RequestParam("to") String to
,@RequestParam("subject") String subject, @RequestParam("file") MultipartFile file){
MailInfo info = new MailInfo();
info.setCc(cc);
info.setContent(content);
info.setFrom(from);
info.setTo(to);
info.setSubject(subject);
return Ma