通过父域名查询子域名对应DNS SRV记录的做法是否符合规范?
方案评估
你描述的操作逻辑不属于公共邮箱服务的标准SRV查询规范,也没有RFC明确禁止该做法,是否可用完全取决于你的应用场景:
- 如果是内部私有部署场景,所有邮箱域名的SRV记录规则都由你方统一管控,不管是查标准邮箱服务还是自定义内部服务,你都可以自行定义该查询逻辑,不会有合规问题。
- 如果是面向公共互联网的通用邮箱应用,该逻辑不符合行业通用实现,不推荐使用。
标准邮箱服务SRV查询规则参考
针对公共互联网的邮箱相关服务的SRV查询,RFC 6186有明确规定,通用逻辑如下:
- 提取用户邮箱的完整域名,比如用户邮箱为
user@test.example.com,取域名test.example.com - 根据你要查询的服务类型,拼接SRV查询前缀:
- SMTP提交服务:查询
_submission._tcp.test.example.com - IMAP收件服务:查询
_imap._tcp.test.example.com - POP3收件服务:查询
_pop3._tcp.test.example.com
- SMTP提交服务:查询
- 上述查询无返回结果时,直接回退到使用对应服务的标准端口(SMTP提交587、IMAP143、POP3110,加密端口对应465、993、995)连接完整域名
test.example.com,不会自动上溯查询父域example.com的SRV记录。
不推荐公共场景下上溯父域查询的原因
- 不符合主流客户端实现:Outlook、Thunderbird等主流邮件客户端均无自动上溯父域查询SRV的逻辑,自行实现会导致和通用行为不一致,容易出现适配问题。
- 存在安全风险:如果子域名属于用户自主注册的场景,自动上溯父域可能会将用户引导到非预期的服务节点,存在服务劫持的隐患。
内容的提问来源于stack exchange,提问作者Buzz LIghtyear
相关产品推荐
相关产品推荐

