dsh/mailgo:outbound-ipv4-relay
main
PR #1(外发投递)在合并时只包含前两个提交;随后推入分支的三个修复提交没有进入上游 main,导致:
本 PR 把这 3 个提交补回上游:
fix: 外发优先走 IPv4;新增 smarthost 中继支持
[outbound]
fix: relay_starttls 默认值始终为 true
feat: 出站地址族可配置 + 源地址绑定
ip_family = ipv4(默认)| ipv6 | auto
source_ip
sent
250 2.0.0 OK - gsmtp
250 2.0.0 Ok: queued
550 5.7.1 blocked using Spamhaus
- 出站 SMTP 连接强制 IPv4(tcp4),无 MX 回退时 IPv4 优先: 住宅/动态 IP 的 IPv6 临时地址通常无 PTR,Gmail 会以 5.7.25 拒收, 而 IPv4 一般具备正反向一致的 PTR(实测 Gmail 250 OK) - [outbound] 新增 relay_host/relay_port/relay_user/relay_password/ relay_starttls:配置后所有外部投递经智能主机中继(AUTH PLAIN、 465 隐式 TLS / 其他端口 STARTTLS),解决服务器 IP 被 Spamhaus PBL 收录时 Outlook/Hotmail 拒收的问题 - 新增 smarthost 中继单元测试
- ip_family 默认 ipv4(保持 PTR/SPF 最可靠的路径);运营商为静态 IPv6 配置 PTR 后可切换 ipv6 - source_ip 绑定出站源地址,避免内核使用轮换的 IPv6 临时隐私地址 (临时地址无 PTR,Gmail 等会拒收) - 无 MX 回退时按地址族偏好排序 A/AAAA
No dependencies set.
The note is not visible to the blocked user.
背景
PR #1(外发投递)在合并时只包含前两个提交;随后推入分支的三个修复提交没有进入上游 main,导致:
本 PR 把这 3 个提交补回上游:
提交内容
fix: 外发优先走 IPv4;新增 smarthost 中继支持Gmail 会拒收无 PTR 的 IPv6 地址,而 IPv4 通常具备正反向一致的 PTR(实测 Gmail 250 OK)
[outbound]新增 relay_host/relay_port/relay_user/relay_password/relay_starttls:配置后所有外部投递经智能主机中继(AUTH PLAIN、465 隐式 TLS / 其他端口 STARTTLS)
fix: relay_starttls 默认值始终为 true——未显式配置时避免中继密码明文传输feat: 出站地址族可配置 + 源地址绑定ip_family = ipv4(默认)| ipv6 | autosource_ip绑定出站源地址(如静态 IPv6),避免内核使用轮换的临时隐私地址实测(lmve.net 生产服务器)
sent,Gmail250 2.0.0 OK - gsmtpsent,iCloud250 2.0.0 Ok: queued550 5.7.1 blocked using Spamhaus):需运营商解除 PBL 或配置 smarthost 中继(本 PR 已提供该能力)