Spring Boot项目结合邮件发送

一、前言

在当今的信息技术时代,电子邮件已成为全球范围内最广泛使用的通信方式之一。它不仅连接了个人用户,也是企业内部和企业之间沟通的重要工具。随着互联网技术的不断发展,电子邮件的功能已经远远超出了简单的文本消息传递,它现在可以包含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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值