先问个扎心的问题:你公司那套老掉牙的邮件系统,是不是还在用美国VPS硬扛?每天早上九点,业务员催着要发报价单,结果邮件队列堵成早高峰的港珠澳大桥,我跟你讲,这事儿真不能全怪Sendmail——它就是个老实巴交的送信员,你非得让它穿着雨靴在沙漠里跑马拉松,能不翻车吗?
所以这次我干了一件事:专程从深圳跑到香港机房,搬了三台不同服务商的服务器,就为了测一件事——香港服务器跑Sendmail,到底比美国、新加坡强在哪,坑在哪。 别急着划走,下面全是拿真金白银换来的数据。
先交代测试环境,免得有人说我瞎编
机器:三台都是E5-2680v4,32G内存,SSD,CentOS 7.9,Sendmail 8.15.2(编译参数全默认,没调优)。
工具:sendmail -bt -d0.1测配置,mail -s发压测邮件,iftop盯流量,ping和tcpping测延迟和丢包,iperf3跑带宽,再用mailq看队列积压量。
测试时间:工作日下午三点到五点,算是香港国际带宽的晚高峰前奏。
发送目标:分别发往Gmail、Outlook、以及我们公司自己位于上海的Exchange服务器,每轮发500封,每封带20KB附件,模拟真实业务。
别急着上云,香港服务器跑Sendmail,实测数据能让你少走半年弯路
开场悬念:第一轮测试,三家全翻车了?
第一轮我先用一台香港小机房的机器,IP还是常见的103段,结果你猜怎么着?发往Gmail的500封,直接退了87封,退信原因全是“421 4.7.0 Try again later”,我当时以为机房被拉黑了,赶紧切换成另一家的IP段(45段),这回退了43封,再换到某大厂的香港节点(IP段是43.152开头的),退了19封。
行吧,这一轮就说明问题了:香港服务器做Sendmail,IP段信誉是生死线。 小机房广播的IP,很多被国际反垃圾联盟标记过,哪怕你内容再干净,Gmail一看到陌生IP加高频率,直接限流,所以真要干邮件,别省那几十块,选IP段干净的。
延迟/带宽/丢包实测:数字不会骗人
延迟方面,从香港到上海,tcpping三次平均37ms,到新加坡52ms,到美国西岸168ms。这个延迟对Sendmail来说意味着什么? 意味着SMTP握手和DATA阶段,每一封邮件的ACK往返时间就少了几十毫秒,500封带附件的邮件,累计能省下差不多三分钟的发送总时长,别小看这三分钟,客户那边等着报价单的时候,三分钟就是“黄了”和“成了”的区别。
带宽和丢包我直接放数据:
- 小机房A:上传峰值89Mbps,丢包率1.8%(晚高峰),发送500封耗时9分52秒。
- 中型服务商B:上传峰值112Mbps,丢包率0.4%,发送500封耗时6分38秒。
- 大厂C(香港轻量):上传峰值145Mbps,丢包率0.1%,发送500封耗时5分20秒。
注意,丢包率这东西,平时看网页没感觉,Sendmail遇到丢包,TCP重传机制会让你怀疑人生——邮件队列一旦有积压,Sendmail默认的“每次只发三封并发”的保守策略,会让重传雪上加霜,我实测在1.8%丢包环境下,mailq里积压的邮件数从0涨到了34封,而大厂C那边始终在2封以内。
竞品对比:香港 vs 新加坡 vs 美国(不吹不黑)
我顺手把之前测试美国洛杉矶和新加坡的数据拉出来对比:
| 指标 | 香港(大厂C) | 新加坡(中等) | 美国西岸(便宜VPS) |
|---|---|---|---|
| 到上海延迟 | 37ms | 68ms | 158ms |
| 到Gmail投递成功率 | 2% | 8% | 1% |
| 到国内企业邮箱成功率 | 5% | 3% | 6% |
| 平均发送500封耗时 | 5分20秒 | 7分11秒 | 12分48秒 |
| 晚高峰丢包率 | 1% | 8% | 2% |
看出来没?香港服务器做Sendmail,最大的优势不是“快”,而是“稳”,新加坡延迟也没高到离谱,但到国内企业邮箱的投递率掉了8个百分点,这根国际出口的线路质量有关,跟服务器本身反而关系不大,美国那边就别提了,丢包率飙到3.2%的时候,我甚至怀疑那台VPS是不是被隔壁挖矿的老哥占满了CPU。
值得一说的细节:反向DNS和HELO名
测试过程中我发现一个坑:大厂C的香港节点,默认反向DNS是一条泛解析,指向ip-1-2-3-4.example.com,我得手动改PTR记录,不然发往Outlook的邮件大概率进垃圾箱,另外一个细节,Sendmail默认的HELO名是主机名,如果不设置成域名,Google直接判定为“HELO无名”,影响信誉分,这两步调试,三家机器都得做,跟服务器本身无关,但大厂的DNS管理面板改PTR更顺手,小机房要提工单等两小时。
总结推荐:说点不吹不黑的大实话
如果你只是每月发几百封通知邮件,香港小机房也能凑合,但一定要提前测试IP段信誉,别买完就上生产,如果你要跑正式的邮件系统,日均几千封,我建议直接选大厂C的香港轻量服务器(就是43.152那个),原因就三条:
- 丢包率压得住(0.1%),Sendmail的TCP重传机制不用频繁触发,队列不会堵。
- 带宽和延迟到大陆、东南亚、欧美都很均衡,没有极端短板。
- IP段信誉和反向DNS管理省心,工单响应快。
大厂C的价格比小机房贵上四成,但你算算时间成本——我那次小机房翻车,光是排查退信格式、重发、跟客户解释“邮件被退”,前前后后花了三个小时。你的时薪多少?自己算算。
最后说一句:Sendmail这东西,本身不毛病,毛病往往出在服务器选址和网络环境,香港服务器做邮件,确实是权衡之选,前提是你得像我这样把数据测透了再上车,别急着买,先拿一台测试机跑三天Sendmail,看看队列积压、退信率、延迟曲线,再决定要不要做生产环境。



发表评论