Tại sao tôi không thể tự gửi email cho mình tại: MyEmail@74.125.235.55?


120

Tôi mở cmdvà gõ ping gmail.com. Nó cho tôi thấy:

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>

Tôi có tài khoản Gmail , vì vậy tôi đã gửi email cho mình nhưng thay vì email@gmail.comtôi đã sử dụng email@74.125.235.55.

Phản ứng:

Đây là Thông báo trạng thái giao hàng được tạo tự động

ĐÂY CHỈ LÀ MỘT TIN NHẮN CẢNH BÁO.

BẠN KHÔNG CẦN PHẢI GỬI LẠI TIN NHẮN CỦA BẠN.

Giao hàng tận nơi cho người nhận sau đây đã bị trì hoãn:

xxxxxx@74.125.235.54

Tin nhắn sẽ được thử lại trong 2 ngày nữa

Chi tiết kỹ thuật về sự cố tạm thời: Máy chủ người nhận không chấp nhận yêu cầu kết nối của chúng tôi. Tìm hiểu thêm tại http://mail.google.com/www7720 [74.125.235.54 (1): Từ chối kết nối]

----- Tin nhắn gốc -----

MIME-Phiên bản: 1.0 Đã nhận: bởi 10.223.93.196 với id id w4mr3261626fam.44.1309944998035; Thứ tư, ngày 06 tháng 7 năm 2011 02:36:38 -0700 (PDT) Đã nhận: bằng 10.223.104.194 với HTTP; Thứ tư, 6 tháng 7 2011 2011 nhiều phần / thay thế; ranh giới = 20cf3054a49348815504a763560c

kiểm tra

Tôi đã không nhận được email. Tại sao?

Tại sao tôi không thể thay thế gmail.commột phần bằng 74.125.235.55?

Câu trả lời:


152

Bởi vì 74.125.235.55 không phải là MX (trao đổi thư) cho gmail.com.

Nếu bạn ping gmail.com, pingsử dụng bản ghi A để thực hiện nhiệm vụ của mình, nhưng gửi email (thường) kết hợp các máy chủ khác.

Bạn có thể sử dụng công cụ dig(trên Windows: nslookup -q=mx gmail.comnhư grawity được đề cập trong các bình luận) để xem các bản ghi 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.

Như bạn có thể thấy, thậm chí có nhiều máy chủ xử lý email cho gmail.com và mỗi máy chủ có mức độ ưu tiên khác nhau (số trong cột cuối cùng).

Và nếu bạn tiếp tục, bạn sẽ thấy gmail-smtp-in.l.google.com (đầu tiên mxtrong danh sách trên) trỏ đến một địa chỉ IP khác:

;; 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

Vì vậy, bạn phải sử dụng recipient@[74.125.39.27](đây là cú pháp đúng như JdeBP đã đề cập trong các bình luận).


NHƯNG Google sẽ không chấp nhận những thư này:

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))

Suy nghĩ thêm về điều này: Google sẽ không hoặc không thể chấp nhận những thư này vì họ không biết bạn muốn gửi cho ai . Các máy chủ đằng sau 74.125.39.27 có thể xử lý email gmail.com, google.com, picasa.com(vv, vv ...), vì vậy không có cách nào để phân biệt người sử dụng.


49
Bạn đã quên đề cập rằng đó email@74.125.39.27sẽ là cú pháp sai dù sao, theo RFC 5322 § 3.4.1.
JdeBP


9
nslookupsẽ cung cấp thông tin tương tự trên các máy Windows.
MikeJ-UK

12
nslookup -q=mx gmail.comđể được chính xác.
grawity

25

Khi bạn gửi email đến user@domain.com, máy chủ thư đi sẽ sử dụng bản ghi DNS MX của tên miền đích để xác định địa chỉ IP nào chịu trách nhiệm xử lý thư tại tên miền đó. Đây có thể không phải là cùng một địa chỉ IP được trả về trong một ping thông thường.

Sử dụng công cụ 'đào' trên Linux Tôi có thể xác định rằng bản ghi MX cho gmail.com phân giải thành bộ máy chủ sau:

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.

tạo ra kết quả ping hoàn toàn khác nhau:

$ 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

Việc bạn có thực sự có thể gửi email trực tiếp đến địa chỉ IP đó hay không tùy thuộc vào ứng dụng email và máy chủ thư của bạn và bạn có thể cần đặt địa chỉ trong ngoặc vuông theo câu trả lời của slotishtype .


11

Thử sử dụng:

email@[74.125.235.55]

Điều này có thể không hoạt động, như các phân tích kẻ minh họa nhưng có thể đáng thử.
slotishtype

1
Địa chỉ "xxxxx @ [74.125.235.55]" trong trường "Tới" không được nhận dạng. Hãy chắc chắn rằng tất cả các địa chỉ được hình thành đúng.
Pacerier

Tôi biết, đó là một thiết lập cụ thể của gmail. Bạn có thể gửi nó từ một ứng dụng thư khác nhưng nó có thể không gửi.
slotishtype

btw tôi tò mò lý do gì khiến bạn nghĩ rằng nó sẽ làm việc?
Pacerier

16
@[ip]là một cú pháp đặc biệt trong RFC được định nghĩa là bỏ qua tra cứu MX.
Random832

7

74.125.235.55không phải là một cổng Gmail. Nếu bạn tự đi thẳng đến địa chỉ IP trong trình duyệt của mình, nó sẽ không truy cập trang web Gmail; nó sẽ được chuyển đến Google, vì vậy đó có thể là một điểm.


1
vậy cổng gmail là gì? để viết lại, tôi phải nhập số nào trong trình duyệt để lấy trang mà tôi thường thấy ở gmail.com?
Pacerier

2
@Pacerier, các máy chủ web sẽ hiển thị các trang khác nhau tùy thuộc vào tên miền bạn sử dụng để truy cập chúng. Chẳng hạn, tôi quản trị iconf.org và iconfinc.com. Họ ở trên cùng một máy chủ tại cùng một địa chỉ IP, nhưng trang web bạn thấy phụ thuộc vào tên bạn nhập. Nếu bạn chỉ sử dụng địa chỉ IP, bạn sẽ luôn thấy iconf.org.
CarlF

6

Đầu tiên, chính địa chỉ IP đó sẽ không được liệt kê dưới dạng bản ghi DNS MX (ngay cả khi bạn đã sử dụng địa chỉ IP chính xác của máy chủ thư), như những người khác đã nói, vì vậy nó sẽ không tìm thấy máy chủ ở nơi đầu tiên (nó sẽ không tìm thấy máy chủ ở nơi đầu tiên (nó cũng sẽ không định tuyến dựa trên địa chỉ IP đó vì @thedomainnó chỉ được sử dụng để tra cứu). Ngay cả khi bạn đã sử dụng telnet để kết nối trực tiếp với máy chủ (đây là cách các chuyên gia kiểm tra email trực tiếp), nó vẫn sẽ thất bại vì lý do sau:

Bất cứ khi nào tôi định cấu hình hệ thống thư và tôi thực hiện rất nhiều trong số chúng, với Microsoft Exchange hoặc các hệ thống khác, bạn luôn phải cho nó biết tên miền nào sẽ chấp nhận. Tôi luôn nhập @thedomain.com, có nghĩa là nó sẽ chỉ chấp nhận email cho tên miền đó. Vì @74.125.235.55không phải là một tên miền và chắc chắn không có trong danh sách tên miền được chấp nhận, ngay cả khi bạn được kết nối trực tiếp với máy chủ thư, nó vẫn sẽ từ chối nó.


2
Trên thực tế, 74.125.235.55 một miền (theo RFC 5322 § 3.4.1, đây không phải là cú pháp của địa chỉ IP trong một addr-spec). Đó là một miền không tồn tại, nhưng nó là một miền, gây khó chịu cho một số nhà khai thác máy chủ DNS nội dung. Cũng lưu ý rằng một số MTS sẽ tự động chấp nhận thư được gửi đến địa chỉ IP của máy chủ SMTP của họ (theo cách thức cú pháp chính xác). Các phiên bản cũ hơn của exim đã làm điều này. Qmail cũng vậy.
JdeBP

@JdeBP Tôi không phải là chuyên gia về RFC đó và khi tôi nhìn vào nó, đầu muốn nổ tung, nhưng nó không nên có một tên miền hay .net để thực sự là một miền? Trong mọi trường hợp, cho tất cả các mục đích thực tế, nó không phải là một miền và chắc chắn không có trong câu hỏi nhất định.
KCotreau

1
Đó là một phần của vấn đề: Đó một lĩnh vực trong câu hỏi, đặc biệt là cho các mục đích thực tế . Chỉ là người hỏi giống như bạn, và không nhận ra điều đó. Trong một addr-specchuỗi các ký tự 74.125.235.55là một lĩnh vực, với các nhãn 55, 235, 125, và 74thứ tự giảm dần từ gốc. Năm 2008, Duane Wessels et al. đặt các tên miền không tồn tại như vậy gây ra 3,8% truy vấn tại máy chủ DNS nội dung gốc "K" của ICANN. Bây giờ là lúc để bạn đọc RFC 4697 § 2.9. ☺
JdeBP

Tôi nên nói tên miền "có thể giải quyết" trong bình luận đầu tiên của tôi. Vâng, nó đang cố gắng để được giải quyết, nhưng không có .com, v.v. nó sẽ luôn thất bại.
KCotreau

3

Vấn đề là địa chỉ email thực sự là gì .

Trong nhiều lược đồ giao thức, cú pháp địa chỉ xxx@example.comcó nghĩa là chỉ "kết nối với máy chủ Internet example.comvà chỉ định (cho giao thức liên quan) người dùng xxx". SSH, FTP, SCP và các mẫu khác theo mẫu này: example.comchỉ là một tên ưa thích cho một địa chỉ IP (được giải quyết giống như khi thực hiện a ping). Đối với email, nó khác nhau. Chuỗi đầy đủ xxx@example.comở đây là một địa chỉ email, tên miền là một phần của địa chỉ, không chỉ là máy chủ mà kết nối để gửi nó; máy chủ này được gọi là "chuyển tiếp" và được lấy từ phần máy chủ đó, bằng một yêu cầu DNS đặc biệt (bản ghi MX) như được giải thích trong các câu trả lời khác, nhưng, hãy ghi nhớ:

  1. nó có thể trùng hoặc không trùng với địa chỉ IP "bình thường" cho example.com( Abản ghi). thường thì chúng khác nhau.

  2. một khi khách hàng phát hiện ra rơle và kết nối với nó, nó vẫn phải nói địa chỉ thư đầy đủ "Tôi muốn gửi thư đến xxx@example.com" (cùng một rơle có thể xử lý thư cho các tên miền khác nhau).

BTW, điểm thứ hai (nhưng không phải điểm đầu tiên) cũng áp dụng cho HTTP , vì 1.1: tên miền được sử dụng để phân giải địa chỉ IP máy chủ, nhưng nó cũng được sử dụng để chỉ định tài nguyên.


2

Hãy nhớ rằng các máy chủ thư đích nhìn vào toàn bộ địa chỉ , bao gồm cả tên theo @dấu hiệu. Gmail mail server sẽ chỉ thông điệp tuyến đường kết thúc bằng @gmail.com, loại bỏ hoặc từ chối tất cả các địa chỉ khác [1] .

Địa chỉ IP máy chủ thư của Gmail là 74.125.45.27. Nhưng địa chỉ tyler@gmail.comkhông giống như tyler@74.125.45.27. Gmail sẽ nói "Tôi biết tyler @ gmail là ai, nhưng tôi chưa bao giờ nghe đến tên tyler@74.125.45.27" và quyết định rằng nó không thể gửi đến địa chỉ thứ hai.


[1] Vâng, tôi biết điều đó không chính xác và vâng, tôi biết về Google Apps.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.