Spring Boot通过企业邮箱发邮件被Gmail退回的问题解决方法

news2025/1/11 17:41:36

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

报错现象

先来看看具体报错(如果您也碰到这种情况,那么可以看看后面的内容):

退信原因:发件人(youtubedubbing@mail.spring4all.com)域名的DNS记录未设置或设置错误导致对方拒收此邮件。 host gmail-smtp-in.l.google.com[142.251.10.26] said: 550-5.7.26 This mail is unauthenticated, which poses a security risk to the sender and Gmail users, and has been blocked. The sender must authenticate with at least one of SPF or DKIM. For this message, DKIM checks did not pass and SPF check for [mail.spring4all.com] did not pass with ip: [54.204.34.130]. The sender should visit https://support.google.com/mail/answer/81126#authentication for instructions on setting up authentication. k191-20020a636fc8000000b00565bcd33890si6279798pgc.848 - gsmtp (in reply to end of DATA command) 解决方案:请通知你的邮箱管理员为邮箱域名设置正确的DNS(SPF、DKIM、DMARC)记录。详细请见 http://service.exmail.qq.com/cgi-bin/help?subtype=1&&no=1000580&&id=20012 。

问题分析

从退信原因中Google给的链接内容非常多,大致内容就是Google针对垃圾邮件滥用邮箱等行为做的防护机制。所以,如果您要支持Gmail的话,就必须符合它所制定的身份配置要求,里面包含了:SPF配置、DKIM配置、ARC配置以及DMARC配置。

Google官方提供了一个工具:https://toolbox.googleapps.com/apps/checkmx/,可以用来检测你的一些列配置是否符合要求。您只需要输入你的邮箱域名,就可以看到如下的诊断结果:

那么多警告,显然是要慢慢解决才能不被拒收吧。。。不过那么多配置,是不是一下就晕了?

如果你懒得深入看的话,下面DD就讲一下比较快速的解决不被拒收的配置。

解决方案

不要看有那么多警告和配置内容,其实只需要把SPF配置完成,Gmail的发送就不成问题了。配置方法也很简单,就是在域名解析里加一条记录即可。

Gmail官网也给出了介绍:

但第一次也许你会跟我犯一样的错,就是直接用v=spf1 include:_spf.google.com ~all这个value了。。。其实应该要修改成你所用企业邮箱服务商的spf域名。

比如,DD这边用的是腾讯的企业邮箱,所以值要设置成:v=spf1 include:spf.mail.qq.com ~all。直观的讲,你的域名解析里需要有这样一条TXT记录:

SPF汇总

这边汇总一下,国内比较常用的企业邮箱SPF配置,如果您正好碰到类似问题,可以直接选取使用:

  • 腾讯企业邮箱:v=spf1 include:spf.mail.qq.com ~all
  • 阿里企业邮箱:v=spf1 include:spf.mxhichina.com -all
  • 网易企业邮箱:v=spf1 include:spf.163.com -all

今天的分享就到这里,希望对您有所收获!码字不易,欢迎关注、收藏、分享,支持一下。本文可以任意转载,但请注明原文链接 ^_^

欢迎关注我的公众号:程序猿DD。前沿技术早知道,弯道超车有希望!积累超车资本,从关注DD开始!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【微信小程序】微信登录和手机号快捷登录:

文章目录 一、微信登录:【1】文档:【2】实现: 二、手机号快捷登录:【1】文档:【2】实现:【3】注意: 一、微信登录: 【1】文档: 【微信官方文档】https://developers.wei…

怎样压缩mp4视频大小?

怎样压缩mp4视频大小?由于视频文件的体积通常比其他类型的文件更大,因此它们需要更多的存储空间来保存。但是,如果我们的设备、应用程序或平台不支持某些视频格式或分辨率,或者我们没有足够的存储空间来容纳这些大型视频文件&…

ja-netfilter-all 使用介绍

反正我也要用ja-netfilter-all,这里就再总结下吧。 以下示例使用的是 pycharm-professional-2023.2.exe (Windows版本) 其他版本下载地址:pycharm/download/other 其他产品去官网自行下载:https://www.jetbrains.com…

如何将应用程序发布到 App Store

憧憬blog主页 在强者的眼中,没有最好,只有更好。我们是移动开发领域的优质创作者,同时也是阿里云专家博主。 ✨ 关注我们的主页,探索iOS开发的无限可能! 🔥我们与您分享最新的技术洞察和实战经验&#xff0…

软件测试认识

什么是软件测试:软件测试和调试区别测试和测试开发区别测试相关概念什么是需求什么是测试用例什么是bug软件生命周期 开发模型瀑布模型螺旋模型增量、迭代敏捷开发模型V模型W模型 什么是软件测试: 找bug;发现缺陷;验证功能&#…

线程简单随笔

线程安全性 原子性:synchornized、AtomicXXX、Lock ​ 原子性是指汇编指令不可拆分的,如同数据库中的事务,要么全部成功,要么全部失败一样 可见性:synchornized、volatile有序性:synchornized、volatile…

安装docker服务 配置镜像

1.安装docker服务,配置镜像加速器 2.下载系统镜像(Ubuntu、 centos) 3.基于下载的镜像创建两个容器 (容器名一个为自己名字全拼,一个为首名字字母) 4.容器的启动、 停止及重启操作 操作代码启动docker sta…

OLED透明屏硬性设计:产品设计中的创新之道

OLED透明屏作为一项革命性的技术创新,不仅具备透明度,而且还拥有硬性的特点,为各行业带来了前所未有的设计和应用可能性。 那么,在这篇文章中,尼伽将深入探索OLED透明屏的硬性设计优势,并通过相关数据和报…

ubuntu20.04安装gcc5.4 g++5.4

在进行ubuntu20.04的系统中安装gcc g5.4中,会出现安装问题 1、pip安装,失败 2、使用apt-get install 进行安装时,提示没有候选项; 原因:ubuntu20.04的系统下,系统默认安装的gcc9.0的版本,默认…

HVV爆火漏洞:最新 WPS RCE (远程命令执行) 复现

最近HVV爆出的很火的WPS命令执行漏洞&#xff0c;其实并不是0DAY&#xff0c;早在2019年就出现了&#xff0c;只不过最近EXP才公开。接下来我们来复现一遍。 0x00 影响版本 WPS Office 2023 个人版 < 11.1.0.15120WPS Office 2019 企业版 < 11.8.2.12085 0x01 环境配置…

光学成像传感器均匀性校准积分球光源

均匀光源被广泛应用于光学成像、遥感仪器的研制与标定等领域。积分球作为一种测量发光体光学参数的高效率仪器&#xff0c;常用于测量光谱强度与功率、光通量、散射体分布、颜色温度、电学特性等参数。积分球光源主要用途是可以作为参考源校准各种光度辐射仪器&#xff0c;其照…

数据结构与算法基础-学习-29-图之关键路径

图的其他相关知识点和源码分享可以参考之前的博客&#xff1a; 《数据结构与算法基础-学习-23-图之邻接矩阵与邻接表》&#xff0c; 《数据结构与算法基础-学习-24-图的遍历之DFS&#xff08;深度优先搜索&#xff09;和BFS&#xff08;广度优先搜索&#xff09;》&#x…

字节跳动 Git 的正确使用姿势与最佳实践

版本控制Git 黑马&尚硅谷 Git的前世今生 方向介绍 为什么要学习Git 1.0 Git是什么 1.1 版本控制 1.1.1 本地版本控制 1.1.2 集中版本控制 1.1.3 分布式版本控制 我们已经把三个不同的版本控制系统介绍完了&#xff0c;Git 作为分布式版本控制工具&#xff0c; 虽然目前来讲…

Python Web开发 OAuth2.0 简介

我们经常看到或者用到一些可以使用微博、微信、支付宝等账号登录的应用&#xff0c;还有一些微博助手、微信公众号助手、客户端之类的东西&#xff0c;这些是怎么做的呢&#xff0c;背后的原理是什么呢&#xff1f;为什么公众号配置起来那么繁琐呢&#xff1f;什么是 access to…

数据标注工具:功能及评估

从垃圾邮件过滤到个性化的聊天机器人体验&#xff0c;人工智能创新正日益成为我们日常生活中的一部分。大多数还没有部署人工智能的公司&#xff0c;都在考虑如何在其内部和外部流程中采用人工智能和机器学习工具。 在接触人工智能和机器学习前&#xff0c;很多人都不知道&…

空间换时间-五秒出解:从900ms到5ms的幕后优化大揭秘!

作者&#xff1a;麦客奥德彪 探索数据操作的效率是软件开发中的一项重要任务。开发中遇到了Java中的ArrayList和removeAll方法&#xff0c;意外发现当面对大量数据时&#xff0c;其执行效率可能会让人瞠目结舌&#xff0c;高达900毫秒以上&#xff01;然而&#xff0c;通过一系…

景区气象站

景区气象站是通过各种传感器实现气象数据采集&#xff0c;这些传感器就是它的核心部件&#xff0c;拥有抗风、防腐、耐尘的优势&#xff0c;可以在各种复杂气象条件下稳定工作&#xff0c;为工作人员提供高精度的气象数据。搭配气象通讯主机&#xff0c;对传感器采集的数据进行…

2023-08-23 LeetCode每日一题(统计点对的数目)

2023-08-23每日一题 一、题目编号 1782. 统计点对的数目二、题目链接 点击跳转到题目位置 三、题目描述 给你一个无向图&#xff0c;无向图由整数 n &#xff0c;表示图中节点的数目&#xff0c;和 edges 组成&#xff0c;其中 edges[i] [ui, vi] 表示 ui 和 vi 之间有一…

echarts 之 科技感进度条

1.图片展示 2.代码实现 /* ng qty 进度条 */ <template><div class"ngqty-progress"><div class"ngqty-info"><span>X4</span><span>50%</span></div><div :id"barNgQtyProgress index" c…

ubuntu18.04复现yolo v8之CUDA与pytorch版本问题以及多CUDA版本安装及切换

最近在复现yolo v8的程序&#xff0c;特记录一下过程 环境&#xff1a;ubuntu18.04ros melodic 小知识&#xff1a;GPU并行计算能力高于CPU—B站UP主说的 Ubuntu可以安装多个版本的CUDA。如果某个程序的Pyorch需要不同版本的CUDA&#xff0c;不必删除之前的CUDA&#xff0c;…