这个报错的意思是:
服务器要求必须使用 TLS,但对方主机没有提供 TLS
具体提示:
TLS is required, but was not offered by hostalt2.gmail-smtp-in.l.google.com[192.178.209.26]
这里的主机是 Google 旗下 Gmail 的收信服务器。
这个错误通常不是 Foxmail 收邮件时报的错,而是:
你在自己服务器上发邮件
通过 SMTP 投递到 Gmail
服务器强制要求 TLS
但实际连接时没有成功协商 TLS
常见于:
Postfix
Exim
Exchange
企业邮件网关
VPS 自建邮件服务器
你的服务器配置成:
必须使用 TLS 才允许发信
但实际连接到 Gmail 的 SMTP 服务器时:
没成功执行 STARTTLS
或 TLS 被中间设备拦截
或你的 OpenSSL/系统版本过低
或 25 端口被运营商劫持
很多云服务器或家庭宽带:
屏蔽 25 端口
或做透明代理
或做 SMTP 劫持
导致:
Gmail 没真正回应 STARTTLS
所以系统认为 “对方没提供 TLS”
✔ 解决办法:
在服务器执行:
telnet alt2.gmail-smtp-in.l.google.com 25
然后输入:
EHLO test.com
如果返回结果里没有:
STARTTLS
说明 25 端口被拦截。
Gmail 现在强制:
TLS 1.2+
强加密套件
如果你的服务器是:
CentOS 6
旧 Debian
旧 OpenSSL
就会协商失败。
✔ 检查:
openssl version
建议:
OpenSSL ≥ 1.1.1
系统升级
如果你用的是 Postfix,检查:
postconf | grep tls
重点看:
smtp_tls_security_level
如果是:
encrypt
表示:
必须 TLS 才能发信
可以临时改成:
may
然后重启 postfix:
systemctl restart postfix
有些:
企业防火墙
云厂商安全策略
NAT 网关
会影响 SMTP 的 STARTTLS 升级。
在服务器上测试:
openssl s_client -starttls smtp -connect alt2.gmail-smtp-in.l.google.com:25
如果成功,你会看到:
SSL-Session: Protocol : TLSv1.3
如果失败,就说明 TLS 根本没建立。
如果你是普通用户,用的是:
Foxmail
163
QQ 邮箱
那这个报错基本不是 Foxmail 的问题,而是:
你的发信服务器配置问题
| 场景 | 解决方案 |
|---|---|
| 云服务器 | 申请解封 25 端口 |
| VPS | 改用 SMTP 中继(如 587 端口) |
| 本地宽带 | 不要自建邮件服务器 |
| 旧系统 | 升级 OpenSSL |
| Postfix | 改 smtp_tls_security_level=may |
不要自己直连 Gmail 的 MX 服务器。
改用:
SendGrid
Mailgun
阿里云邮件推送
腾讯云 SES
这样不会遇到 TLS 和 25 端口问题。
【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
上一篇:ubuntu配置DNS
下一篇:没有了