題 為什麼我不能給自己發電子郵件:MyEmail@74.125.235.55?


我打開了 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-Version:1.0收到:by   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


120
2017-07-06 11:01


起源




答案:


因為74.125.235.55不是gmail.com的MX(郵件交換)。

如果你  gmail.com, ping 使用 一個記錄 執行其任務,但發送電子郵件(通常)包含其他服務器。

您可以使用該工具 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.com (首先 mx 在上面的列表中)指向不同的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 (等等......),所以沒有辦法區分用戶。


152
2017-07-06 11:17



你忘了提那個 email@74.125.39.27 根據RFC5322§3.4.1,無論如何都是錯誤的語法。 - JdeBP
相關的RFC部分。 - Humphrey Bogart
nslookup 將在Windows機器上提供類似的信息。 - MikeJ-UK
nslookup -q=mx gmail.com 確切地說。 - grawity


當您向user@domain.com發送電子郵件時,外發郵件服務器使用 DNS MX記錄 目標域的名稱,以確定哪個IP地址負責處理該域中的郵件。這可能與正常ping期間返回的IP地址不同。

使用Linux上的“dig”工具,我可以確定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的答案。


25
2017-07-06 11:20





嘗試使用:

email@[74.125.235.55]

11
2017-07-06 11:10



這可能行不通,正如大家分析所說,但也許值得一試。 - slotishtype
無法識別“收件人”字段中的地址“xxxxx @ [74.125.235.55]”。請確保所有地址都已正確形成。 - Pacerier
我知道,這是一個特定於Gmail的設置。您可以從其他郵件客戶端發送它,但它可能不會發送。 - slotishtype
順便說一下,我很好奇是什麼原因讓你覺得那會起作用? - Pacerier
@[ip] 是RFC中的一種特殊語法,定義為繞過MX查找。 - Random832


74.125.235.55 不是Gmail網關。如果您直接使用瀏覽器中的IP地址,則不會訪問Gmail網站;它會轉到谷歌,所以這可能是一點。


7
2017-07-06 11:11



什麼是gmail網關?換句話說,我必須在瀏覽器中鍵入哪些數字才能獲得我通常在gmail.com看到的頁面? - Pacerier
@Pacerier,Web服務器將顯示不同的頁面,具體取決於您用來訪問它們的域名。例如,我管理iconsf.org和iconsfinc.com。它們位於同一IP地址的同一台服務器上,但您看到的網頁取決於您鍵入的名稱。如果您只使用IP地址,您將始終看到iconsf.org。 - CarlF


首先,該IP地址本身不會被列為DNS MX記錄(即使您使用了郵件服務器的正確IP地址),正如其他人所說的那樣,因此它不會首先找到服務器(它也不會根據該IP地址進行路由 @thedomain 僅用於查找)。即使您使用telnet直接連接到服務器(這是專家直接測試電子郵件的方式),它仍然會因以下原因而失敗:

每當我配置一個郵件系統,並且我使用Microsoft Exchange或其他系統做很多事情時,你總是要告訴它它將接受哪些域。我總是進入 @thedomain.com,這意味著它只接受該域的電子郵件。以來 @74.125.235.55 不是域,當然也不在接受的域列表中,即使您直接連接到郵件服務器,它仍然會拒絕它。


6
2017-07-06 11:29



其實, 74.125.235.55  是 一個域(根據RFC5322§3.4.1,它不是一個IP地址的語法 addr-spec)。它是一個不存在的域,但它是一個域,很多內容DNS服務器運營商的煩惱。還要注意幾個MTS會 自動 接受發往其SMTP中繼服務器IP地址的郵件(語法正確)。 舊版本的exim做到了這一點。  qmail也是如此。 - JdeBP
@JdeBP我不是那個RFC的專家,當我看到它時,頭部想要爆炸,但它不應該有.com或.net實際上是一個域?無論如何,出於所有實際目的,它不是一個領域,當然也不是在給定的問題中。 - KCotreau
這是問題的一部分:它 是 問題中的域名, 特別是出於實用目的。提問者就像你一樣,並沒有意識到這一點。在一個 addr-spec 字符序列 74.125.235.55 是一個帶有標籤的域名 55, 235, 125,和 74 從根開始按降序排列。在2008, Duane Wessels等。 將這些不存在的域名放在ICANN的“K”根內容DNS服務器上,導致3.8%的查詢。現在是時候閱讀RFC4697§2.9。 - JdeBP
我應該在我的第一條評論中說“可解析”域名。是的,它試圖解決,但沒有.com等,它總是會失敗。 - KCotreau


問題實際上是電子郵件地址

在許多協議方案中,地址語法 xxx@example.com 意思是“連接到Internet主機 example.com 並指定(用於相關協議)用戶 xxx“.SSH,FTP,SCP和其他人遵循這種模式: example.com 只是一個IP地址的奇特名稱(解析與執行時相同) ping)。對於電子郵件,它是不同的。完整的字符串 xxx@example.com 這是一個電子郵件地址,域是地址的一部分,不僅僅是連接發送它的服務器;此服務器稱為“中繼”,它是從主機部分通過特殊DNS請求(MX記錄)獲得的,如其他答案中所述,但請記住:

  1. 它可能與“正常”IP地址重合或不重合 example.com (A 記錄)。他們經常是不同的。

  2. 一旦客戶端發現中繼並連接到它,它仍然必須告訴完整的郵件地址“我想發送郵件給 xxx@example.com“(同一個中繼可以處理不同域的郵件)。

順便說一句,第二點(但不是第一點)也適用於 HTTP,從1.1開始:域用於解析主機IP地址,但它也用於指定資源。


3
2017-07-06 17:00





請記住,目標郵件服務器會查看 整個地址,包括隨後的名稱 @ 標誌。 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。


2
2017-07-06 23:04