Почему я не могу написать себе по электронной почте: 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 w4mr3261626fam.44.1309944998035; Ср, 06 июля 2011 02:36:38 -0700 (PDT) Получено: по 10.223.104.194 с HTTP; Ср, 6 июля 2011 г. 02:36:37 -0700 (PDT) Дата: ср., 6 июля 2011 г. 17:36:37 +0800 ID сообщения: Тема: test От: Joseph To: xxxxxx@74.125.235.54 Тип содержимого: многочастному / альтернативные; граница = 20cf3054a49348815504a763560c

testtest

Я не получил письмо. Почему?

Почему я не могу просто заменить gmail.comдеталь 74.125.235.55?

Pacerier
источник

Ответы:

152

Потому что 74.125.235.55 не является MX (обмен почтой) для gmail.com.

Если вы пингуете 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.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.com, google.com, picasa.com( и т.д., и т.д ...), так что нет никакого способа отличить пользователя.

Trurl
источник
49
Вы забыли упомянуть, email@74.125.39.27что в любом случае это будет неправильный синтаксис, в соответствии с RFC 5322 § 3.4.1.
JdeBP
13
Соответствующий раздел RFC .
Хамфри Богарт
9
nslookupдаст аналогичную информацию на машинах Windows.
MikeJ-UK
12
nslookup -q=mx gmail.comточнее.
Гравитация
25

Когда вы отправляете электронное письмо по адресу user@domain.com, сервер исходящей почты использует запись MX DNS DNS домена назначения, чтобы определить, какой IP-адрес отвечает за обработку почты в этом домене. Это может быть не тот же IP-адрес, возвращаемый во время обычного пинга.

Используя инструмент 'dig' в Linux, я могу определить, что запись MX для gmail.com разрешается на следующий набор серверов:

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 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
источник
Это может не сработать, как показывает анализ парней, но, возможно, стоит попробовать.
slotishtype
1
Адрес «xxxxx @ [74.125.235.55]» в поле «Кому» не был распознан. Пожалуйста, убедитесь, что все адреса правильно сформированы.
Пейсер
Я знаю, что это особая настройка Gmail. Вы можете отправить его из другого почтового клиента, но он может не отправлять.
slotishtype
Кстати, мне любопытно, с какой стати вы решили, что это сработает?
Пейсер
16
@[ip]это специальный синтаксис в RFC, который определяется как обход поиска MX.
Random832
7

74.125.235.55не является шлюзом Gmail. Если вы перейдете непосредственно к IP-адресу в браузере, он не перейдет на веб-сайт Gmail; это пойдет в Google, так что это может быть одна точка.

Сандип Бансал
источник
1
так что такое шлюз Gmail? перефразируя, какие цифры я должен набрать в браузере, чтобы получить страницу, которую я обычно вижу на gmail.com?
Пейсер
2
@Pacerier, веб-серверы будут отображать разные страницы в зависимости от того, какое доменное имя вы используете для доступа к ним. Например, я администрирую iconsf.org и iconsfinc.com. Они находятся на одном сервере с одним и тем же IP-адресом, но вид веб-страницы зависит от того, какое имя вы вводите. Если вы просто используете IP-адрес, вы всегда будете видеть iconsf.org.
CarlF
6

Во-первых, сам IP-адрес не будет указан в качестве записи MX DNS (даже если вы использовали правильный IP-адрес почтового сервера), как сказали другие, поэтому он не найдет сервер в первую очередь (это также не собирается маршрутизировать на основе этого IP-адреса, поскольку @thedomainон используется только для поиска). Даже если вы использовали telnet для прямого подключения к серверу (именно так эксперты тестируют электронную почту напрямую), она все равно не будет работать по следующей причине:

Всякий раз, когда я настраиваю почтовую систему, и я делаю многие из них, с Microsoft Exchange или другими, вы всегда должны сообщать ему, какие домены он примет. Я всегда вхожу @thedomain.com, что означает, что он будет принимать только электронные письма для этого домена. Поскольку @74.125.235.55это не домен и, конечно, его нет в списке принятых доменов, даже если вы были напрямую подключены к почтовому серверу, он все равно будет отклонен.

KCotreau
источник
2
На самом деле, 74.125.235.55 это домен (в RFC 5322 § 3.4.1 не синтаксис IP - адреса в addr-spec). Это несуществующий домен, но это домен, к большому раздражению нескольких операторов DNS-серверов контента. Также обратите внимание, что несколько MTS автоматически принимают почту, адресованную IP-адресам их SMTP-серверов ретрансляции (синтаксически правильным образом). Старые версии exim делали это. Как и qmail.
JdeBP
@JdeBP Я не эксперт по этому RFC, и когда я посмотрел на него, то по голове захотелось взорваться, но разве у него не должно быть .com или .net, чтобы фактически быть доменом? В любом случае, для всех практических целей, это не область, и, конечно, не в данном вопросе.
Котро
1
Это часть проблемы: Это является областью в вопросе, особенно для практических целей . Просто спрашивающий такой же, как ты, и не осознает этого. В addr-specпоследовательности символов 74.125.235.55является областью, с этикетками 55, 235, 125, и 74в порядке убывания от корня. В 2008 году Duane Wessels et al. помещать такие несуществующие доменные имена как вызывающие около 3,8% запросов на DNS-сервер корневого контента ICANN «K». Настало время прочитать RFC 4697 § 2.9. ☺
JdeBP
Я должен был сказать «разрешимый» домен в своем первом комментарии. Да, он пытается разрешиться, но без .com и т. Д. Он всегда потерпит неудачу.
Котро
3

Вопрос в том , что адрес электронной почты , на самом деле является .

Во многих схемах протоколов адресный синтаксис xxx@example.comозначает просто «подключиться к узлу Интернета example.comи указать (для соответствующего протокола) пользователя xxx». SSH, FTP, SCP и другие следуют этой схеме: example.comэто просто причудливое имя для IP-адреса (которое разрешается так же, как и при выполнении a ping). Для электронной почты все по-другому. Полная строка xxx@example.com- это адрес электронной почты, домен является частью адреса, а не просто сервер, к которому подключается для отправки; этот сервер называется «ретранслятором», и он получен из этой части хоста специальным DNS-запросом (MX-записями), как объяснено в других ответах, но имейте в виду:

  1. он может совпадать или не совпадать с «нормальным» IP-адресом для example.com( Aзапись). часто они разные.

  2. как только клиент обнаруживает ретранслятор и подключается к нему, он все равно должен сообщить полный почтовый адрес «Я хочу отправить письмо xxx@example.com» (одно и то же реле может обрабатывать почту для разных доменов).

Кстати, второй пункт (но не первый) также относится к HTTP , так как 1.1: домен используется для разрешения IP-адреса хоста, но он также используется для указания ресурса.

leonbloy
источник
2

Помните, что почтовые серверы назначения смотрят на весь адрес , включая имя, которое следует за @знаком. Почтовые серверы Gmail будут маршрутизировать только те сообщения, которые заканчиваются @gmail.com, отбрасывая или отклоняя все остальные адреса [1] .

IP - адрес почтового сервера Gmail является 74.125.45.27. Но адрес tyler@gmail.comэто не то же самое, что tyler@74.125.45.27. Gmail скажет: «Я знаю, кто такой tyler@gmail.com, но я никогда не слышал об имени tyler@74.125.45.27», и решит, что не сможет доставить по второму адресу.


[1] Да, я знаю, что это не совсем так, и да, я знаю о Службах Google.

tylerl
источник