SpringBoot整合邮箱发送邮件

这篇具有很好参考价值的文章主要介绍了SpringBoot整合邮箱发送邮件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

SpringBoot整合邮箱发送邮件

引入依赖
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.1.0.RELEASE</version>
        </dependency>

配置文件
server.port=8082
spring.mail.host=smtp.qq.com
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
spring.mail.password=[POP3/IMAP/SMTP/Exchange/CardDAV 服务 授权码]
spring.mail.username=843566121@qq.com
spring.mail.port=587
spring.mail.properties.mail.stmp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true

Service层接口及实现类
/**
 * <p>
 * 邮件发送Service层接口
 * </p>
 *
 * @author jpge
 * @since 2023-09-23
 */
public interface EmailService {
    /**
     * 发送邮箱验证码
     *
     * @param mailAddress 邮箱地址
     * @param code        验证码
     * @param sec         安全码
     */
    void sendSignUpCaptcha(String mailAddress, String code, Integer sec);
}
import com.edu.vertifycode.mail.service.EmailService;
import org.springframework.boot.autoconfigure.mail.MailProperties;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Service;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;

import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.Date;

/**
 * <p>
 * 邮件发送Service层接口 实现类
 * </p>
 *
 * @author jpge
 * @since 2023-09-23
 */
@Service
public class EmailServiceImpl implements EmailService {

    @Resource
    JavaMailSender javaMailSender;

    @Resource
    MailProperties mailProperties;

    @Resource
    TemplateEngine templateEngine;

    /**
     * 发送邮箱验证码
     *
     * @param mailAddress 邮箱地址
     * @param code        验证码
     * @param sec         安全码
     */
    public void sendSignUpCaptcha(String mailAddress, String code, Integer sec) {
        MimeMessage msg = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(msg);
        try {
            //设置邮件元信息
            helper.setTo(mailAddress);
            helper.setFrom(mailProperties.getUsername());
            helper.setSubject("验证码");
            helper.setSentDate(new Date());
            //模板渲染
            Context context = new Context();
            context.setVariable("name", "HELLO_WORLD");
            context.setVariable("code", code);
            context.setVariable("sec", sec);
            String mail = templateEngine.process("mail", context);
            helper.setText(mail, true);
            javaMailSender.send(msg);
            System.out.println("邮件发送成功!");
        } catch (MessagingException e) {
            System.out.println("邮件发送失败" + e.getMessage());
        }
    }
}

邮件模板[templates/mail.html]
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>欢迎注册 HELLO_WORLD 网站!</title>
</head>
<style>
    .big-font {
        font-size: 25px;
    }
    .warning {
        color: red;
        background-color: bisque;
        display: inline;
    }
</style>
<body>
<h3>亲爱的 [[${name}]],欢迎注册 HELLO_WORLD 网站!</h3>

<p>您的<b>注册验证码</b>是:<b class="big-font"> [[${code}]] </b></p>
<p>您的<b>识别码</b>是:<b class="big-font"> [[${sec}]] </b></p>
<p class="warning">如果您并没有注册 HELLO_WORLD 网站,请忽略该邮件!</p>

</body>
</html>

测试启动类及自测用例
import com.edu.vertifycode.mail.service.EmailService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import javax.annotation.Resource;

@RunWith(SpringRunner.class)
@SpringBootTest(classes = VerificationCodeMailApplication.class)
public class VerificationCodeMailApplicationTests {

    @Resource
    private EmailService emailService;

    @Test
    public void contextLoads() {
        System.out.println("HELLO_WORLD!!!");
        emailService.sendSignUpCaptcha(
                "1836868464@qq.com",
                "433999",
                8848
        );
    }

}

自测效果截图

SpringBoot整合邮箱发送邮件,spring boot,后端,java文章来源地址https://www.toymoban.com/news/detail-731283.html

到了这里,关于SpringBoot整合邮箱发送邮件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot整合QQ邮箱发送验证码

    基于SpringBoot + QQ邮箱服务 + Hutools实现的获取验证码功能,接下来从如何申请授权码,如何配置项目,如何启动项目,如何测试项目进行讲解,下面的图片是一个测试案例,使用postman进行测试,在测试上填写发送人的邮箱,即可收到验证码邮箱 1.从仓库拉取代码 2.需要申请邮

    2024年02月07日
    浏览(41)
  • Spring Boot发送邮件

    在现代的互联网应用中,发送电子邮件是一项常见的功能需求。Spring Boot提供了简单且强大的邮件发送功能,使得在应用中集成邮件发送变得非常容易。本文将介绍如何在Spring Boot中发送电子邮件,并提供一个完整的示例。 在开始之前,我们需要确保已经配置好了以下两项准

    2024年02月08日
    浏览(52)
  • SpringBoot整合Javamail实现邮件发送

    博客主页:踏风彡的博客 博主介绍:一枚在学习的大学生,希望在这里和各位一起学习。 所属专栏:SpringBoot学习笔记 文章创作不易,期待各位朋友的互动,有什么学习问题都可在评论区留言或者私信我,我会尽我所能帮助大家。 ​ 发邮件对于咱们的Java来说是一个基本的功

    2024年02月06日
    浏览(33)
  • Spring Boot通过企业邮箱发邮件被Gmail退回的问题解决方法

    这两天给我们开发的Chrome插件:Youtube中文配音增加了账户注册和登录功能,其中有一步是邮箱验证,所以这边会在Spring Boot后台给用户的邮箱发个验证信息。如果发邮件,之前的文章教程里就有,这里就不说了,着重说说这两天发现所有用Gmail注册的用户都被退件的问题。 先

    2024年02月11日
    浏览(48)
  • Spring Boot 如何实现邮件发送

    在现代的Web应用程序中,邮件通知已经成为了一项非常重要的功能。例如,在用户注册、密码重置、订单确认等方面,我们通常都会使用邮件来通知用户。在Spring Boot应用程序中,我们可以使用JavaMailSender来实现邮件发送。 在本文中,我们将介绍如何在Spring Boot应用程序中实现

    2024年02月16日
    浏览(30)
  • spring boot 集成邮件发送功能

    一、首先到QQ邮箱申请开启POP3、SMTP协议 二、安装依赖 三、配置文件 四、如果需要发送模板的邮件,则在/templates/目录下建立email.html文件 五、如果需要异常打印信息的话新建自定义异常类BusinessException 六、如果需要发送附件的话,则新建网络文件转流类 七、测试方法

    2024年01月21日
    浏览(28)
  • Spring Boot 整合邮件服务

    首先参考了 Spring Boot整合邮件配置,这篇文章写的很好,按照上面的操作一步步走下去就行了。 版本配置 然后因为反复配置版本很麻烦,所以参考了 如何统一引入 Spring Boot 版本?。 FreeMarker 在配置 FreeMarker 时,发现找不到 FreeMarkerConfigurer 类,参考了 springboot整合Freemark模板

    2024年02月02日
    浏览(32)
  • 【论坛java项目】第二章 Spring Boot实践,开发社区登录模块:发送邮件、开发注册功能、会话管理、生成验证码、开发登录、退出功能、

    😀如果对你有帮助的话😊 🌺为博主点个赞吧 👍 👍点赞是对博主最大的鼓励😋 💓爱心发射~💓 bofryuzursekbiab——密码 访问邮箱域名 邮箱端口 账号 密码 协议 详细配置 JavaMailSender 是 Spring Email 的核心组件,负责发送邮件 MimeMessage 用于封装邮件的相关信息 MimeMessageHelper 用

    2024年02月06日
    浏览(38)
  • SpringBoot项目整合Redis,Rabbitmq发送、消费、存储邮件

    本文主要是【Rabbitmq】——SpringBoot项目整合Redis,Rabbitmq发送、消费、存储邮件的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句:狠狠沉淀,顶峰相见 测试结果:此时指定邮箱已收到验

    2024年02月04日
    浏览(30)
  • Spring Boot邮件发送教程:步步为营,轻松实现图片附件邮件!

      通过Spring Boot构建一个功能强大的邮件发送应用程序,重点是实现发送包含图片附件的邮件。我将逐步介绍添加必要的依赖、创建邮件服务类和控制器的步骤,并提供了具体的示例源代码。跟随这个简单而清晰的教程,您将能够轻松地集成邮件发送功能到您的Spring Boot应用中

    2024年02月04日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包