Por que não posso me enviar um email para: [email protected]?

120

Eu abri cmd e digitei ping gmail.com . Isso me mostra:

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>

Tenho uma conta Gmail , por isso enviei um e-mail, mas em vez de [email protected] , usei [email protected] .

Resposta:

This is an automatically generated Delivery Status Notification

THIS IS A WARNING MESSAGE ONLY.

YOU DO NOT NEED TO RESEND YOUR MESSAGE.

Delivery to the following recipient has been delayed:

[email protected]

Message will be retried for 2 more day(s)

Technical details of temporary failure: The recipient server did not accept our requests to connect. Learn more at http://mail.google.com/support/bin/answer.py?answer=7720 [74.125.235.54 (1): Connection refused]

----- Original message -----

MIME-Version: 1.0 Received: by 10.223.93.196 with SMTP id w4mr3261626fam.44.1309944998035; Wed, 06 Jul 2011 02:36:38 -0700 (PDT) Received: by 10.223.104.194 with HTTP; Wed, 6 Jul 2011 02:36:37 -0700 (PDT) Date: Wed, 6 Jul 2011 17:36:37 +0800 Message-ID: Subject: test From: Joseph To: [email protected] Content-Type: multipart/alternative; boundary=20cf3054a49348815504a763560c

testtest

Eu não recebi o email. Por quê?

Por que não posso simplesmente substituir a parte gmail.com por 74.125.235.55 ?

    
por Pacerier 06.07.2011 / 13:01

7 respostas

152

Porque 74.125.235.55 não é o MX (troca de e-mail) para gmail.com.

Se você ping gmail.com, ping usa o Um registro para executar sua tarefa, mas o envio de e-mails (geralmente) incorpora outros servidores.

Você pode usar a ferramenta dig (no Windows: nslookup -q=mx gmail.com como grawity mencionada nos comentários) para ver esses DNS registros:

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.

Como você pode ver, há até vários servidores gerenciando e-mails para gmail.com e cada um deles tem prioridades diferentes (o número na última coluna).

E se você continuar, verá que gmail-smtp-in.l.google.com (o primeiro mx na lista acima) aponta para um endereço IP diferente:

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

Então você teria que usar recipient@[74.125.39.27] (esta é a sintaxe correta como JdeBP mencionou nos comentários).

MAS o Google não aceita esses e-mails:

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

Pensando mais sobre isso: o Google não aceita ou não aceita esses e-mails porque eles não sabem a quem você deseja enviar . O servidor por trás de 74.125.39.27 poderia manipular e-mails para gmail.com , google.com , picasa.com (etc., etc ...), portanto não há como diferenciar o usuário.

    
por 06.07.2011 / 13:17
25

Quando você envia um email para [email protected], o servidor de email de saída usa o registro MX do DNS do destino domínio para determinar qual endereço IP é responsável por manipular o correio nesse domínio. Isso pode não ser o mesmo endereço IP retornado durante um ping normal.

Usando a ferramenta 'dig' no Linux, posso determinar que o registro MX de gmail.com seja resolvido para o seguinte conjunto de servidores:

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.

que produzem resultados de ping completamente diferentes:

$ 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

Se você realmente pode enviar e-mail diretamente para esse endereço IP provavelmente depende do seu cliente de e-mail e servidor de e-mail, e você pode precisar colocar o endereço entre colchetes como por slotishtype da resposta. / p>     

por 06.07.2011 / 13:20
11

Tente usar:

email@[74.125.235.55]
    
por 06.07.2011 / 13:10
7

74.125.235.55 não é um gateway do Gmail. Se você for diretamente para o endereço IP no seu navegador, ele não irá para o site do Gmail. ele vai para o Google, então isso pode ser um ponto.

    
por 06.07.2011 / 13:11
6

Primeiro, esse endereço IP em si não será listado como um registro MX do DNS (mesmo se você usou o endereço IP correto do servidor de e-mail), como os outros disseram, por isso não encontrará o servidor no primeiro. lugar (ele também não será roteado com base nesse endereço IP, pois o @thedomain é usado apenas para pesquisas). Mesmo se você usou o telnet para se conectar diretamente ao servidor (é assim que os especialistas testam o e-mail diretamente), ele ainda falharia pelos seguintes motivos:

Sempre que eu configuro um sistema de e-mail, e faço muitos deles, com o Microsoft Exchange ou outros, você sempre precisa informar quais são os domínios que ele aceitará. Eu sempre digito @thedomain.com , o que significa que só aceitam e-mails para esse domínio. Como @74.125.235.55 não é um domínio e certamente não está na lista de domínios aceitos, mesmo se você estivesse diretamente conectado ao servidor de e-mail, ele ainda o rejeitaria.

    
por 06.07.2011 / 13:29
3

O problema é o que é realmente um endereço de e-mail .

Em muitos esquemas de protocolos, a sintaxe de endereço [email protected] significa apenas "conectar-se ao host de Internet example.com e especificar (para o protocolo relevante) usuário xxx ". SSH, FTP, SCP e outros seguem esse padrão: example.com é apenas um nome sofisticado para um endereço IP (que é resolvido da mesma forma que ao fazer um ping ). Para e-mails, é diferente. A string completa [email protected] é aqui um endereço de e-mail, o domínio faz parte do endereço, não é apenas o servidor ao qual se conectar para enviá-lo; esse servidor é chamado de "relay" e é obtido dessa parte do host por uma solicitação de DNS especial (registros MX), conforme explicado em outras respostas, mas lembre-se:

  1. pode coincidir ou não com o endereço IP "normal" de example.com ( A record). freqüentemente eles são diferentes.

  2. uma vez que o cliente descobre o relé e se conecta a ele, ele ainda deve informar o endereço de email completo "Quero enviar um email para [email protected] " (o mesmo relé pode processar emails para domínios diferentes). / p>

BTW, o segundo ponto (mas não o primeiro) também se aplica ao HTTP , já que 1.1: o domínio é usado para resolver o endereço IP do host, mas também é usado para especificar o recurso.

    
por 06.07.2011 / 19:00
2

Lembre-se de que os servidores de e-mail de destino analisam o endereço completo , incluindo o nome que segue o sinal @ . Os servidores de e-mail do Gmail só rotearão mensagens que terminem em @gmail.com , descartando ou rejeitando todos os outros endereços [1] .

O endereço IP do servidor de e-mail do Gmail é 74.125.45.27 . Mas o endereço [email protected] não é o mesmo que [email protected] . O Gmail diria "Eu sei quem é [email protected], mas nunca ouvi falar do nome [email protected]", e decidir que não poderia entregar para o segundo endereço.

[1] Sim, sei que não é exatamente verdade e sim, sei sobre o Google Apps.

    
por 07.07.2011 / 01:04

Tags