为什么“dig gmail.com mx”不返回域“smtp.gmail.com”?

Jod*_*oro -10 email smtp gmail

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.    
Run Code Online (Sandbox Code Playgroud)

smtp.gmail.com 怎么样,为什么不包括在内?有没有办法通过一些实用程序找到它?或者它只能在 gmail 的文档中找到?

同样的问题也适用于其他电子邮件服务。

我最初的目标是找到电子邮件提供商的所有 smtp 服务器。

joe*_*rty 12

smtp.gmail.com 怎么样,为什么不包括在内?

因为smtp.gmail.com没有收到 gmail.com 域的电子邮件。您要求提供 gmail.com 的 MX 记录。你得到的答案正是如此。MX 记录指定哪些主机接收给定域的电子邮件。MX 记录不会告诉您有关客户端提交 SMTP 服务器等的任何信息。名为主机的主机smtp.example.com不必是为所述域接收电子邮件的主机。接收域电子邮件的主机实际上可以命名为任何名称。

如果您想知道给定域的哪些主机接收电子邮件,则执行 MX 记录查找,就像您所做的那样。如果您想知道特定电子邮件提供商的客户应该使用哪个主机来发送电子邮件,请参阅电子邮件主机的文档。

  • 我不知道什么?我不知道你在追求什么?你是对的。您没有充分解释您寻求“查找 SMTP 服务器”的上下文。您是否正在寻找接受给定域的电子邮件的 SMTP 服务器?您是否正在尝试为电子邮件客户端查找客户端提交 SMTP 服务器?我们不知道,我们试图通过问你一些问题来解决这个问题,但你已经变成了一个混蛋,并且对你的评论做出了粗鲁的态度。祝您在“找到 SMTP 服务器”的过程中好运。 (4认同)

And*_*w B 9

正如 joeqwerty 正确指出的那样,它没有显示,smtp.google.com因为MX记录表明邮件服务器应该将发往该域的邮件发送到哪里。这与最终用户的电子邮件客户端应使用的服务器将传出消息传输到任意目的地不同。

RFC 6186描述了一种自动检测带有SRV记录的 SMTP 服务器的方法。问题是,在互联网的大部分时间里,SMTP 服务器设置是通过文档而不是通过 DNS 传达的。您不能依赖此信息的存在。现代电子邮件客户端将尝试根据您提供的域后缀自动检测 SMTP 服务器设置,但如果失败,用户必须像往常一样依赖该公司的文档。此信息无法以其他方式以电子方式或其他方式提供。

提交:使用 [RFC4409] 标识 MSA。请注意,这涵盖了使用和不使用传输层安全性 (TLS) [RFC5246] 的连接,如 [RFC3207] 中为 SMTP 定义的那样。

示例:服务记录

   _submission._tcp     SRV 0 1 587 mail.example.com.
Run Code Online (Sandbox Code Playgroud)

在这种特殊情况下,您需要的查询_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
Run Code Online (Sandbox Code Playgroud)


Wes*_*ley 9

我最初的目标是找到电子邮件提供商的所有 smtp 服务器。

你不能。