在使用 独角数卡(Dujiaoka) 时,如果你部署在 只有 IPv6 的 VPS,可能会在发送邮件时遇到以下报错:
这说明你的服务器无法通过 IPv6 连接 Gmail SMTP,而 Gmail SMTP 是优先支持 IPv4 的,IPv6-only 的环境下会失败。
✅ 一、安装 Cloudflare WARP(添加 IPv4 出口)
WARP 可以为你的 IPv6-only VPS 提供一个免费的 NAT IPv4 出口,非常适合发邮件、访问 IPv4-only 的服务。
安装 WARP 一键脚本:
运行后选择:
✅ 二、配置 Warp 策略路由(让邮件走 IPv4 出口)
1️⃣ 查看 warp 接口 IP(一般是 172.16.0.2):
2️⃣ 添加路由表和规则(仅需一次):
3️⃣ (可选)只让 Gmail SMTP 流量走 Warp:
这样其他流量仍使用 IPv6,不走 Warp,仅 Gmail SMTP 流量使用 IPv4。
三、增强:手动添加 DNS 和邮件服务器路由(可选但推荐)
为了确保系统能够解析域名并正常连接邮件服务器,建议添加以下路由:
添加 DNS 服务器路由:
为 Gmail SMTP 添加专门路由:
为常用国内邮件服务器添加路由:
四、测试网络和 SMTP 连通性
测试 IPv4 出口是否通:
测试 Gmail SMTP 是否能连通:
使用 ping 测试连通性(如支持):
✅ 五、测试网络和 SMTP 连接
查看 IPv4 出口是否通:
应显示 Cloudflare 的 IP(如 104.28.x.x)。
测试 Gmail SMTP 是否能连通:
看到 220 smtp.gmail.com ESMTP ... 就说明连接成功。
✅ 六、修改 /etc/gai.conf 优先使用 IPv4
编辑配置文件:
找到这行(大概在54行):
改为:
取消注释并将优先级改为 100,保存并退出。此操作会让系统优先使用 IPv4 地址连接服务。
七、测试邮件发送
独角数卡后台 → 配置 → 邮件测试,里面发送,这下应该会显示发送成功了。
最后持久化方法:写入 systemd 自定义服务
由于ip route add 路由规则、ip rule add 策略路由、iptables 标记规则在系统重启后会恢复原样,所以需要持久化,持久化方法。
0