是否可通过DNS记录将第三方SMTP中继服务器地址伪装为自有域名地址
方案说明
完全可以实现你要的效果,常见有两种实现方式,各有适用场景:
方案1:配置CNAME DNS记录(最简单)
- 登录你的域名解析管理后台,给
mail.mydomain添加一条CNAME记录,目标地址填服务商提供的mail.theirdomain,TTL设置为默认的300~600秒即可。 - 配置生效后所有解析
mail.mydomain的请求都会自动指向中继服务商的真实SMTP服务器,你对外可以直接将mail.mydomain作为SMTP地址提供给内部设备/外部用户使用。 - 注意事项:需要提前和你的SMTP中继服务商确认,他们是否支持为
mail.mydomain配置对应的TLS证书,或者允许你上传你自己申请的mail.mydomain证书。如果服务商不支持自定义域名证书,客户端连接时会触发「证书域名不匹配」的报错,无法正常建立加密SMTP连接。
方案2:自建反向代理转发(兼容性最高)
如果你的中继服务商不支持自定义域名证书,可以选择自己部署反向代理实现:
- 准备一台云服务器/VPS,部署Nginx(stream模块)或者HAProxy这类4层反向代理服务,监听25/465/587等常用SMTP端口,将所有收到的SMTP请求转发到
mail.theirdomain的对应端口。 - 你可以自己为
mail.mydomain申请免费的Let's Encrypt证书,配置在反向代理服务上,客户端连接时不会出现证书异常问题。 - 额外提示:如果你的
mail.mydomain不能配置CNAME(比如该域名已经配置了MX记录/PTR记录,部分DNS服务商不允许同主机记录同时存在CNAME和其他记录),也可以直接给mail.mydomain配置A记录,指向你反向代理服务器的IP即可。
内容的提问来源于stack exchange,提问作者Thomas Kantartzis
相关产品推荐
相关产品推荐

