在部署俄罗斯服务器时,发现无法连接国内的邮件服务器 smtp.mxhichina.com 发送邮件。报错信息为:
SMTP connect() failed.
smtp.mxhichina.com 使用的端口
参考阿里的文档:http://mailhelp.mxhichina.com/smartmail/detail.vm?knoId=5871700
SMTP smtp.mxhichina.com 25 465
测试邮件端口连通性
telnet smtp.mxhichina.com 25
telnet smtp.mxhichina.com 465
测试结果:
$ telnet smtp.mxhichina.com 25
Trying 205.204.101.152...
telnet: connect to address 205.204.101.152: Connection refused
果然无法联通。而在其他服务器上正常:
# telnet smtp.mxhichina.com 25
Trying 42.120.226.4...
Connected to smtp.mxhichina.com.
Escape character is '^]'.
跟服务器提供商扯皮
俄罗斯服务器提供商,以俄罗斯跟国内网络不稳定为由不建议使用国内的邮件服务。。。
这明显是端口没有开放的问题。我 top 了一下,居然发现这是个 32 核的机器,显然是一个多人共用的服务器。。。这就难怪了怎么说他也不给开放邮件服务端口。
不靠谱的 Mailgun
不得以要改用基于 http 的邮件发送 API,于是注册了 Mailgun。注册完之后,直接被禁用账号。。。
{
"message": "Account disabled"
}
Your account is temporarily disabled. ( Account disabled ) Please contact support to resolve.
得了,惹不起,换服务。
阿里云 API 发送邮件
https://help.aliyun.com/document_detail/29460.html?spm=a2c4g.11186623.6.633.14c935f2BmDFkd
费用 1000 封,2 元。
费用很合理,但是我用 PHP 愣是没有调用成功官方的 SDK 。。。
Class 'DefaultProfile' not found
还是使用转发方案吧
不得已,我换了个方案,将俄罗斯服务器的邮件,转发到美国,然后再发送到自己邮箱。
太折腾了。。。
最后找到了一个朋友开发的邮件发送服务 Hedwi,完全满足需求。
俄罗斯服务器替代方案
经过这件事,我感觉目前使用的俄罗斯服务器提供商非常不靠谱,得找个替代方案。
暂时看,阿里云,亚马逊都没有俄罗斯境内的机房,抽空再调研一下。
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式