我为什么不能给自己发电子邮件:MyEmail@74.125.235.55?


120

我打开cmd并输入ping gmail.com。它显示了我:

C:\Windows\system32>ping gmail.com

Pinging gmail.com [74.125.235.55] with 32 bytes of data:
Reply from 74.125.235.55: bytes=32 time=6ms TTL=56
Reply from 74.125.235.55: bytes=32 time=6ms TTL=56
Reply from 74.125.235.55: bytes=32 time=6ms TTL=56
Reply from 74.125.235.55: bytes=32 time=215ms TTL=56

Ping statistics for 74.125.235.55:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 6ms, Maximum = 215ms, Average = 58ms

C:\Windows\system32>

我有一个Gmail帐户,所以我通过电子邮件发送了自己,但没有email@gmail.com使用email@74.125.235.55

响应:

这是一个自动生成的传送状态通知

这仅是一个警告信息。

你不用重新发送你的讯息。

传递到下列收件人已被推迟:

xxxxxx@74.125.235.54

邮件将再试2天

暂时失败的技术详细信息:收件人服务器未接受我们的连接请求。要了解更多信息,请访问 http://mail.google.com/support/bin/answer.py?answer=7720 [74.125.235.54(1):连接被拒绝]

- - - 原始信息 - - -

MIME版本:1.0接收:通过10.223.93.196通过SMTP ID w4mr3261626fam.44.1309944998035; 星期三,2011年7月6日02:36:38 -0700(PDT)接收:通过10.223.104.194使用HTTP;2011年7月6日,星期三02:36:37 -0700(PDT)日期:2011年7月6日,星期三17:36:37 +0800消息ID:主题:测试发件人:约瑟夫收件人:xxxxxx@74.125.235.54内容类型:多部分/替代;边界= 20cf3054a49348815504a763560c

测试一下

我没有收到电子邮件。为什么?

为什么我不能只用gmail.com零件代替74.125.235.55

Answers:


152

因为74.125.235.55不是gmail.com的MX(邮件交换)。

如果您ping gmail.com,则ping使用A记录执行其任务,但发送电子邮件(通常)会合并其他服务器。

您可以使用该工具dig(在Windows上:nslookup -q=mx gmail.com如注释中所述)来查看这些DNS记录:

Probe:~ trurl$ dig -t ANY gmail.com

; <<>> DiG 9.6.0-APPLE-P2 <<>> -t ANY gmail.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65087
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 9

;; QUESTION SECTION:
;gmail.com.         IN  ANY

;; ANSWER SECTION:
gmail.com.      3519    IN  MX  30 alt3.gmail-smtp-in.l.google.com.
gmail.com.      3519    IN  MX  5 gmail-smtp-in.l.google.com.
gmail.com.      74086   IN  NS  ns4.google.com.
gmail.com.      3519    IN  MX  10 alt1.gmail-smtp-in.l.google.com.
gmail.com.      74086   IN  NS  ns3.google.com.
gmail.com.      3   IN  A   209.85.148.18
gmail.com.      3519    IN  MX  40 alt4.gmail-smtp-in.l.google.com.
gmail.com.      3   IN  A   209.85.148.83
gmail.com.      3   IN  A   209.85.148.17
gmail.com.      74086   IN  NS  ns1.google.com.
gmail.com.      3   IN  A   209.85.148.19
gmail.com.      3519    IN  MX  20 alt2.gmail-smtp-in.l.google.com.
gmail.com.      74086   IN  NS  ns2.google.com.

如您所见,甚至还有多个服务器为gmail.com处理电子邮件,每个服务器都有不同的优先级(最后一栏中的数字)。

如果继续进行下去,您会看到gmail-smtp-in.l.google.commx上面列表的第一个)指向另一个IP地址:

;; QUESTION SECTION:
;gmail-smtp-in.l.google.com.    IN  ANY

;; ANSWER SECTION:
gmail-smtp-in.l.google.com. 42  IN  A   74.125.39.27

因此,您必须使用recipient@[74.125.39.27](这是注释中提到的JdeBP正确的语法)。


但是 Google不会接受以下邮件:

Jul  6 13:25:15 lofi postfix/smtp[31213]: C6FXXXXXXX: to=<REMOVED@[74.125.39.27]>,
relay=74.125.39.27[74.125.39.27]:25, delay=3.4, delays=0.16/0.01/0.15/3.1, dsn=5.1.1,
status=bounced(host 74.125.39.27[74.125.39.27] said:
550-5.1.1 The email account that you tried to reach does not exist. Please try
550-5.1.1 double-checking the recipient's email address for typos or
550-5.1.1 unnecessary spaces. Learn more at
550 5.1.1 http://mail.google.com/support/bin/answer.py?answer=6596 REMOVEDg.99
(in reply to RCPT TO command))

对此进行进一步思考:Google不接受或不接受这些邮件,因为它们不知道您希望向谁发送。背后74.125.39.27服务器可以处理的电子邮件gmail.comgoogle.compicasa.com(等,等...),所以没有办法区分用户。


49
您忘了提及email@74.125.39.27,按照RFC 5322§3.4.1,无论如何语法还是错误的。
JdeBP


9
nslookup将在Windows计算机上提供类似信息。
MikeJ-UK 2011年

12
nslookup -q=mx gmail.com确切地说。
grawity 2011年

25

当您将电子邮件发送到user@domain.com时,外发邮件服务器将使用目标域的DNS MX记录来确定哪个IP地址负责处理该域中的邮件。这可能与正常ping期间返回的IP地址不同。

使用Linux上的“挖掘”工具,我可以确定gmail.com的MX记录可解析为以下服务器集:

gmail-smtp-in.l.google.com.
alt1.gmail-smtp-in.l.google.com.
alt2.gmail-smtp-in.l.google.com.
alt3.gmail-smtp-in.l.google.com.
alt4.gmail-smtp-in.l.google.com.

会产生完全不同的ping结果:

$ ping gmail-smtp-in.l.google.com.
PING gmail-smtp-in.l.google.com (209.85.227.27) 56(84) bytes of data.
64 bytes from wy-in-f27.1e100.net (209.85.227.27): icmp_req=1 ttl=50 time=12.8 ms

是否实际可以直接将电子邮件发送到该IP地址可能取决于您的电子邮件客户端和邮件服务器,并且可能需要根据slotishtype的答案将地址放在方括号中。


11

尝试使用:

email@[74.125.235.55]

正如伙计们的分析所示,这可能行不通,但也许值得一试。
slotishtype

1
无法识别“收件人”字段中的地址“ xxxxx @ [74.125.235.55]”。请确保所有地址的格式正确。
Pacerier

我知道,这是Gmail的特定设置。您可以从其他邮件客户端发送它,但它可能不发送。
slotishtype

顺便说一句,我很好奇,是什么原因让您认为这行得通呢?
Pacerier,2011年

16
@[ip]是RFC中的一种特殊语法,定义为绕过MX查找。
Random832

7

74.125.235.55不是Gmail网关。如果您直接将自己定位到浏览器中的IP地址,则不会转到Gmail网站;它将交给Google,所以这可能只是一点。


1
那么什么是Gmail网关?改写一下,我必须在浏览器中键入什么数字才能获得通常在gmail.com上看到的页面?
Pacerier,2011年

2
@ Pacerier,Web服务器将根据您用来访问它们的域名显示不同的页面。例如,我管理iconsf.org和iconsfinc.com。它们位于同一服务器上的相同IP地址,但是您看到的网页取决于您键入的名称。如果您仅使用IP地址,则将始终看到iconsf.org。
CarlF

6

首先,就像其他人所说的那样,该IP地址本身也不会被列为DNS MX记录(即使您使用了邮件服务器的正确IP地址),因此也不会首先找到该服务器(它是也不会基于该IP地址进行路由,因为@thedomain只是用于查找)。即使您使用telnet直接连接到服务器(这是专家直接测试电子邮件的方式),由于以下原因,它仍然会失败:

每当我配置一个邮件系统,并且使用Microsoft Exchange或其他工具进行很多处理时,您总是必须告诉它它将接受的域是什么。我总是输入@thedomain.com,这意味着它将只接受该域的电子邮件。由于@74.125.235.55不是域,并且肯定不在接受域列表中,因此即使您直接连接到邮件服务器,它仍然会拒绝它。


2
实际上,74.125.235.55 一个域(根据RFC 5322§3.4.1,它不是IP地址的语法addr-spec)。它是一个不存在的域,但是它却是一个域,这让许多内容DNS服务器运营商感到不安。还要注意,几个MTS将自动接受发往其SMTP中继服务器IP地址的邮件(以语法正确的方式)。旧版本的exim就是这样做的。 qmail也是如此。
JdeBP 2011年

@JdeBP我不是该RFC的专家,当我看着它时,总想爆炸,但是它不应该有一个.com或.net实际上是一个域吗?无论如何,出于所有实际目的,它不是领域,并且当然不在给定的问题之内。
KCotreau

1
这就是问题的一部分:这问题中的一个领域,尤其是出于实际目的。只是提问者像你一样,并没有意识到这一点。在一个addr-spec字符序列74.125.235.55是一个域,有标签55235125,和74在从根降序排列。2008年,Duane Wessels等人。将不存在的域名放在ICANN的“ K”根内容DNS服务器上引起大约3.8%的查询。现在是时候阅读RFC 4697§2.9了。☺
JdeBP

我应该在第一条评论中说“可解决的”域名。是的,它正在尝试解决,但是如果没有.com等,它将始终失败。
KCotreau

3

问题是电子邮件地址实际上什么。

在许多协议方案中,地址语法的xxx@example.com含义仅是“连接到Internet主机example.com并指定(针对相关协议)用户xxx”。SSH,FTP,SCP和其他模式遵循这种模式:example.com只是IP地址的奇特名称(与解析时相同ping)。对于电子邮件,则有所不同。这里的完整字符串xxx@example.com是一个电子邮件地址,域是地址的一部分,而不仅仅是连接将其发送到的服务器。该服务器称为“中继”,它是通过特殊的DNS请求(MX记录)从该主机部分获得的,如其他答案所述,但是请记住:

  1. 它可能与example.comA记录)的“正常” IP地址一致或不一致。通常它们是不同的。

  2. 一旦客户端发现中继并连接到中继,它仍必须告诉完整的邮件地址“我想向其发送邮件xxx@example.com”(同一中继可以处理不同域的邮件)。

顺便说一句,第二点(但不是第一点)也适用于HTTP,因为1.1:域用于解析主机IP地址,但也用于指定资源。


2

请记住,目标邮件服务器会查看整个地址,包括@标志后面的名称。Gmail邮件服务器将仅路由以结尾@gmail.com,丢弃或拒绝所有其他地址[1]的邮件。

Gmail的邮件服务器IP地址为74.125.45.27。但是地址tyler@gmail.com和却不一样tyler@74.125.45.27。Gmail会说“我知道tyler@gmail.com是谁,但我从未听说过tyler@74.125.45.27这个名字”,并决定无法将其发送到第二个地址。


[1]是的,我知道这并不完全正确,是的,我知道Google Apps。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.