如果我只有域名,如何找到 MSA 服务器的名称?

如果我只有域名,如何找到 MSA 服务器的名称?

编辑(我问的是什么不太清楚) 我想将电子邮件从我的家庭网络提交到 Verizon MSA,从而将电子邮件发送到我的 Verizon 地址。所以我的问题是:如果我只有域名,我该如何找到 MSA 服务器的名称。(我错误地要求 MX 服务器。)我想可靠地从到verizon.netsmtp.verizon.net这样我就可以在程序中复制它。我仍然认为,如果您正在编写一个程序,让用户输入他们的电子邮件地址和凭据以发送电子邮件,这是一个有价值的问题地址。
但一般来说,您只需找到一次 MSA,即可发送所有电子邮件。因为 MSA 会为您找到目标 MX,而且 MX 服务器通常会阻止动态 IP 范围。

我正在尝试从我的 Python 脚本向我自己发送错误日志电子邮件。我能够使用此服务器成功向 Yahoo 地址发送电子邮件:smtp.mail.yahoo.com。但我想向 Verizon 地址发送电子邮件。

如何查找邮件服务器[email protected]?我使用的是 Linux,并尝试过:

dig -t ANY verizon.net

; <<>> DiG 9.9.2-P1 <<>> -t ANY verizon.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28223
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4000
;; QUESTION SECTION:
;verizon.net.           IN  ANY

;; ANSWER SECTION:
verizon.net.        260 IN  MX  0 relay.verizon.net.
verizon.net.        218 IN  A   206.46.232.39

;; Query time: 107 msec
;; SERVER: 127.0.1.1#53(127.0.1.1)
;; WHEN: Wed Jul 22 20:26:42 2015
;; MSG SIZE  rcvd: 78

host -t mx verizon.net

verizon.net mail is handled by 0 relay.verizon.net

为了比较,host -t mx yahoo.com

yahoo.com mail is handled by 1 mta6.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta5.am0.yahoodns.net.
yahoo.com mail is handled by 1 mta7.am0.yahoodns.net.

这些命令不起作用。

答案1

征求意见稿 (RFC) 6186,“使用 SRV 记录定位电子邮件提交/访问服务”指定组织如何使用服务 (SRV)DNS 记录用于指定他们用于电子邮件服务的服务器。邮件提交代理 (MSA)可以通过 SRV 记录指定。例如:

_submission._tcp.example.com.     SRV 0 1 587 mail.example.com.

如果您不熟悉 RFC,它们是制定互联网标准的机制。例如,RFC 4409邮件消息提交也适用于 MSA。还有RFC 2782, "用于指定服务位置的 DNS RR (DNS SRV)"

如果已为指定其 MSA 的域创建了 SRV 记录,则可以使用 nslookup、dig 等查找 MSA。但是 Verizon、AOL、Comcast、Yahoo 和其他为家庭用户提供电子邮件服务的大型公司不会创建此类记录,而且我不知道有哪家公司会这样做,因此,对于他们来说,如果 MSA 与 MSA 不同,则尝试通过 DNS 查询查找 MSA 是徒劳的邮件交换器 (MX)。如果我需要帮助某人配置其电子邮件客户端以使用其 ISP 的 MSA,而 MX 查询返回的服务器不起作用,我通常只需搜索“configure Outlook site:verizon.net”之类的内容,即搜索如何配置特定电子邮件客户端,并指定我希望将搜索限制在属于 ISP 的网站。大多数 ISP 都会为其用户提供帮助页面,告诉他们如何配置各种电子邮件客户端,从而显示 MSA。

答案2

您有两个选择。

  1. 您无需使用中继,直接使用负责该组织的目标邮件服务器,您可以使用您指定的dighost命令以及来查找该服务器nslookup -q=mx

    在这种情况下,您不需要身份验证(尽管您可能需要使用 SSL 和STARTTLS)。您还可以设置任何您想要的发件人地址(前提是您的主机通过了该域的 SPF 检查或允许 SPF 失败),但只允许目标组织的收件人地址。

    如果您的 ISP 过滤了出站 SMTP 流量,您可能无法使用此选项。

  2. 您使用中继(通常是您的 ISP 提供的“外发邮件服务器”),它将接受您的邮件,然后将其中继到使用 DNS 查询找到的目标服务器,就像选项 1 中的查询一样。

    在这种情况下,您通常必须通过用户名和密码明确地或通过 IP 隐式地进行身份验证。您可能能够或不能设置您想要的任何 FROM 地址,但您应该能够设置任何 TO 地址。

相关内容