dig gmail.com 返回此内容:
;; ANSWER SECTION:
gmail.com. 3600 IN MX 40 alt4.gmail-smtp-in.l.google.com.
gmail.com. 3600 IN MX 30 alt3.gmail-smtp-in.l.google.com.
gmail.com. 3600 IN MX 20 alt2.gmail-smtp-in.l.google.com.
gmail.com. 3600 IN MX 5 gmail-smtp-in.l.google.com.
gmail.com. 3600 IN MX 10 alt1.gmail-smtp-in.l.google.com.
smtp.gmail.com 怎么样,为什么没有包括在内?有没有办法通过一些实用程序找到它?还是只能在 gmail 文档中找到它?
其他电子邮件服务也存在同样的问题。
我的最初目标是找到电子邮件提供商的所有 smtp 服务器。
答案1
smtp.gmail.com 怎么样,为什么没有包含在内?
因为smtp.gmail.com
不接收 gmail.com 域的电子邮件。您要求提供 gmail.com 的 MX 记录。您得到的答案正是如此。MX 记录指定哪个主机接收给定域的电子邮件。MX 记录不会告诉您有关客户端提交 SMTP 服务器等的任何信息。命名的主机smtp.example.com
不一定是接收该域电子邮件的主机。接收域电子邮件的主机实际上可以命名为任何名称。
如果您想知道哪个主机接收给定域的电子邮件,请像您一样执行 MX 记录查找。如果您想知道特定电子邮件提供商的客户应使用哪个主机发送电子邮件,请查阅电子邮件托管商的文档。
答案2
我的最初目标是找到电子邮件提供商的所有 smtp 服务器。
你不能。
答案3
正如 joeqwerty 正确指出的那样,它没有显示,smtp.google.com
因为MX
记录指示邮件服务器应将邮件发送到哪里该域名。这与最终用户的电子邮件客户端用来将外发邮件传输到任意目的地的服务器不同。
RFC 6186描述一种使用记录自动检测 SMTP 服务器的方法SRV
。问题在于,在互联网的大部分生命周期中,SMTP 服务器设置都是通过文档而不是 DNS 传达的。您不能依赖此信息的存在。现代电子邮件客户端将尝试根据您提供的域后缀自动检测 SMTP 服务器设置,但如果失败了,用户必须照常依赖该公司的文档。此信息无法通过其他方式获得,无论是电子方式还是其他方式。
提交:使用 [RFC4409] 标识 MSA。请注意,这涵盖了 [RFC3207] 中为 SMTP 定义的具有和不具有传输层安全性 (TLS) [RFC5246] 的连接。
例如:服务记录
_submission._tcp SRV 0 1 587 mail.example.com.
在这种特殊情况下,您需要的查询是_submission._tcp.gmail.com
类型为 的SRV
。
$ dig _submission._tcp.gmail.com SRV
; <<>> DiG 9.9.5-9+deb8u10-Debian <<>> _submission._tcp.gmail.com SRV
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8996
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;_submission._tcp.gmail.com. IN SRV
;; ANSWER SECTION:
_submission._tcp.gmail.com. 86400 IN SRV 5 0 587 smtp.gmail.com.
;; Query time: 9 msec
;; SERVER: 66.228.62.5#53(66.228.62.5)
;; WHEN: Sun Jul 02 03:17:11 UTC 2017
;; MSG SIZE rcvd: 89