Springboot实现qq邮件的发送

一、打开必要的邮件设置

首先登录qq邮箱官网登录之后,在设置中将传输协议给打开,我们需要用这个秘钥作为发件人的邮箱授权。

在这里插入图片描述
在这里插入图片描述
这里开启之后,记住这个秘钥。

二、代码编写

首先我们将作为发送邮件的账户信息写入配置文件。

spring:
  mail:
    host: smtp.qq.com
    username: qq邮箱地址
    password: 上面我们拿到的秘钥
    port: 465
    protocol: smtp
    default-encoding: utf-8
    properties:
      mail:
        smtp:
          auth: true
          starttls:
            enable: true
            required: true
          ssl:
            enable: true
          socketFactory:
            port: 465
            class: javax.net.ssl.SSLSocketFactory

我们可以看一下这个官方提供的简易说明:

在这里插入图片描述

下面写在项目中。我这里直接在新增数据之后,然后直接调用发邮件的方法,所以无需单独的接口进行触发。


@Override
    public void afterAdd(QuestionInfo questionInfo) {
        if (questionInfo.getWorkPerson() != null) {
            questionInfo.setContainWay("描述/责任人/日期\n确认");
            questionInfo.setCauseAnalysis("产生原因: \n流出原因: \n验证结果:");
        }
        SimpleMailMessage mailMessage = new SimpleMailMessage();
        String recipientEmail = "这是接收方qq邮件的地址,可以直接从用户资料中进行获取填写。";

        mailMessage.setFrom("这个是发送方的邮件地址,直接从配置文件中进行获取");
        //这是收件人
        mailMessage.setTo(recipientEmail);
	
        mailMessage.setSubject("这是文件的标题");
		//这是邮件的正文内容
        mailMessage.setText(questionInfo.getDescription());

        javaMailSender.send(mailMessage);
        
        DataProxy.super.afterAdd(questionInfo);
    }

在这里插入图片描述
在这里插入图片描述

收件人:
在这里插入图片描述

三、遇到的小问题

刚开始的时候,要么报错端口被占用,要么就报错连接被拒绝。然后跟着邮件给的一些格式,调整了一下配置文件内容,然后就可以了。

最后还有一个就是在代码中还需要指定发送方,否则会报错。

501 mail from address must be same as authorization user

在代码里面指定一下发送方就行了

mailMessage.setFrom("这个是发送方的邮件地址,直接从配置文件中进行获取");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/496191.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

#include<初见C语言之指针(5)>

目录 一、sizeof和strlen的对比 1. sizeof 2.strlen 二、数组和指针题解析 1. ⼀维数组 1.1数组名理解 2.字符数组 3. ⼆维数组 三、指针运算题解析 总结 一、sizeof和strlen的对比 1. sizeof 我们前面介绍过sizeof是单目操作符 sizeof括号中有表达式,不…

力扣19 链表 删除倒数N结点

目录 问题: 1.链表的组成结构 2.如何改变倒数第N个结点 2.1 求链表长度 2.2 找到倒数第N个结点前一个结点 2.3 让倒数N前一个改变即可 3.源代码示范 问题: 1.链表的组成结构 单向链表 由value next 组成 ,value包括此结点的各基础属…

【虹科干货】长文预警!使用ntopng和NetFlow/IPFIX检测Dos攻击(上)

为了和大家探讨网络安全领域中的关键问题,我将分两期来展示如何使用ntopng和NetFlow/IPFIX检测Dos攻击。在本篇中,我先简单介绍网络安全面临的挑战、为何网络流量分析在应对网络安全挑战中起重要作用,此外,我会介绍在此次检测中使…

【机器学习】代价函数

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

绍兴市经信局副局长胡小君一行莅临迪捷软件调研走访

2024年3月27日下午,绍兴市经信局党组成员、副局长胡小君一行莅临迪捷软件调研走访。 胡局长一行实地参观了迪捷软件办公环境,对迪捷软件的发展历程、产品应用、未来发展计划等情况进行深入了解,充分倾听了迪捷软件当前遇到的困难,…

推动制药行业数字化转型:基于超融合架构的MES一体机解决方案

随着中国对信息化重视程度的不断加深,制药行业作为国民经济的重要支柱之一,也在积极寻求通过数字化手段提升产业效率与产品质量。自党的十六大提出“以信息化带动工业化”的战略以来,制药业的这一转型探索尤为迫切。 在现代制药生产中&#…

后端之卡尔曼滤波

后端之卡尔曼滤波 前言 在很久之前,人们刚结束信息传递只能靠信件的时代,通信技术蓬勃发展,无线通信和有线通信走进家家户户,而著名的贝尔实验室就在这个过程做了很多影响深远的研究。为了满足不同电路和系统对信号的需求&#…

数字化生产:探索生产管理软件在工业4.0时代的关键作用

导 读 ( 文/ 1445 ) 工业4.0时代的到来催生了数字化生产的浪潮,而生产管理软件在其中扮演着关键的角色。本文将探索生产管理软件在工业4.0时代的关键作用,从实时数据分析、智能化生产过程和协同合作等方面,阐述软件在实现数字化生产的转型中的…

BioXcell InVivoPlus anti-mouse Ly6G及部分参考文献

BioXcell InVivoPlus anti-mouse Ly6G 1A8单克隆抗体与小鼠Ly6G反应。Ly6G分子量为21-25kDa,是GPI锚定的细胞表面蛋白Ly-6超家族的成员,在细胞信号传导和细胞粘附中发挥作用。Ly6G在发育过程中由骨髓谱系中的细胞(包括单核细胞、巨噬细胞、粒…

全面升级!对比SDN园区方案,云化园区方案好在哪?

SDN的概念提出已十几年,至今却仍不温不火,当下主流的SDN控制器方案集网络的部署、配置、分析为一体,比起传统网络更具优越性,却并未获得市场成功。 Gartner在2021和2023发布的《Hype Cycle for Enterprise Networking(企业网络技术…

第 6 章 ROS-Arbotix(自学二刷笔记)

重要参考: 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 6.5 Rviz中控制机器人模型运动 通过 URDF 结合 rviz 可以创建并显示机器人模型,不过,…

浅谈-程序员35岁面临失业风险需要注意什么?

目录 一、现状 二、原因分析 三、个人建议 四、总结 一、现状 互联网公司不愿意招收35岁以上的程序员主要是因为性价比问题。年龄大了,薪资要求通常较高,而加班时间可能较少。此外,互联网公司普遍认为没有35岁以上的中年人。 二、原因分析…

python数据实时传给unity工程并绘制出来

python # 服务器端代码 import socket import random import struct import time# 创建一个服务器Socket server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 监听的地址和端口 host 127.0.0.1 port 12345# 绑定地址和端口 server_socket.bind((host, port…

鼠标不动了怎么办?鼠标不能移动解决方法

鼠标不能移动有可能是鼠标坏了,或者是电脑的软件和硬件有冲突等原因造成。最近有小伙伴就咨询了有关鼠标的问题,昨天鼠标还能使用,不知道为什么今天就突然不能用了。那么我们在排除鼠标坏掉了的情况下,试试对鼠标进行修复吧。下面…

由浅到深认识Java语言(38):I/O流

该文章Github地址:https://github.com/AntonyCheng/java-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.c…

寄主机显示器被快递搞坏了怎么办?怎么破?

大家好,我是平泽裕也。 最近,我在社区里看到很多关于开学后弟弟寄来的电脑显示器被快递损坏的帖子。 看到它真的让我感到难过。 如果有人的数码产品被快递损坏了,我会伤心很久。 那么今天就跟大家聊聊寄快递的一些小技巧。 作为一名曾经的…

iptables添加端口映射,k8s主机查询不到端口但能访问。

研究原因:k8s内一台主机使用命令查询没有80端口。但通过浏览器访问又能访问到服务。 查询了资料是使用了hostport方式暴露pod端口。cni调用iptables增加了DNAT规则。访问时流量先经过iptables直接被NAT到具体服务去了。 链接: K8s罪魁祸首之"HostPort劫持了我…

【2024.3.28练习】砝码称重

题目描述 题目分析 动态规划解决。建立状态&#xff0c;数组元素为0或1&#xff0c;代表只用前个砝码能否称出重量。 设个砝码重量为&#xff0c;则第状态转移方程为&#xff1a; 我的代码 #include <iostream> #include <algorithm> #include <cmath> #i…

武汉星起航:五对一服务体系,引领卖家迅速适应亚马逊市场

在数字化浪潮的推动下&#xff0c;亚马逊跨境电商行业成为了众多创业者和企业家们竞相追逐的热门领域。然而&#xff0c;对于零经验的新手卖家而言&#xff0c;这个看似充满机遇的跨境电商世界实则暗藏无数挑战和未知。在这个关键时刻&#xff0c;武汉星起航公司以其专业的服务…

环信IM集成教程---消息转发合并转发的实现

前言 在发送消息体系中&#xff0c;转发消息是一个重要的环节&#xff0c;可以单条转发也可以合并转发。本文教大家在接入环信IM过程中如何实现单条转发&#xff0c;合并转发消息功能&#xff0c;同时举例一些容易踩坑的位置&#xff0c;以便大家尽快顺利的实现转发消息功能。…
最新文章