Quais protocolos e servidores estão envolvidos no envio de um email e quais são as etapas?

StackOverflow https://stackoverflow.com/questions/32744

  •  09-06-2019
  •  | 
  •  

Pergunta

Nas últimas semanas, tenho tentado aprender como funciona o e-mail.Eu entendo muito bem o processo de um cliente receber e-mail de um servidor usando POP.Também entendo como um computador cliente pode usar SMTP para solicitar que um servidor SMTP envie uma mensagem.No entanto, ainda estou faltando alguma coisa ...

Pelo que entendi, a correspondência enviada precisa fazer três viagens:

  1. Cliente (usuário do Gmail usando Thunderbird) para um servidor (Gmail)
  2. Primeiro servidor (Gmail) para segundo servidor (Hotmail)
  3. Segundo servidor (Hotmail) para segundo cliente (usuário do hotmail usando OS X Mail)

Pelo que entendi, o primeiro passo usa SMTP para o cliente se comunicar.O cliente se autentica de alguma forma (digamos, com USER e PASS) e depois envia uma mensagem para o servidor do Gmail.

No entanto, não entendo como o servidor do Gmail transfere a mensagem para o servidor do hotmail.

Para a etapa três, tenho certeza, o servidor hotmail usa POP para enviar a mensagem ao cliente hotmail (usando autenticação, novamente).

Então, a grande questão é: quando clico em enviar, o Mail envia minha mensagem para meu servidor do Gmail, como meu servidor do Gmail encaminha a mensagem para, digamos, um servidor de hotmail para que meu amigo possa recebê-la?

Muito obrigado!

~Jasão


Obrigado, isso tem sido útil até agora.

Pelo que entendi, o primeiro cliente envia a mensagem para o primeiro servidor usando SMTP, geralmente para um endereço como smtp.mail.SOMESERVER.com na porta 25 (normalmente).

Então, SOMESERVER usa SMTP novamente para enviar a mensagem para RECEIVESERVER.com na porta 25 (não smtp.mail.RECEIVESERVER.com ou qualquer coisa sofisticada).

Então, quando o destinatário solicita seu e-mail ao RECEIVESERVER, usando POP, ele recebe a mensagem...certo?

Obrigado novamente (especialmente ao dr-jan),

Jasão

Foi útil?

Solução

O servidor SMTP do Gmail (que aceitou a mensagem do Thunderbird) encaminhará a mensagem para o destinatário final.

Isso é feito usando o DNS para localizar o registro MX (trocador de e-mail) da parte do nome de domínio do endereço de e-mail de destino (hotmail.com neste exemplo).O servidor DNS retornará um endereço IP para o qual a mensagem deve ser enviada.Esperamos que o servidor no endereço IP de destino esteja executando SMTP (na porta padrão 25) para que possa receber as mensagens recebidas.

Depois que a mensagem for recebida pelo servidor hotmail, ela será armazenada até que o usuário apropriado faça login e recupere suas mensagens usando POP (ou IMAP).

Jason - para responder ao seu acompanhamento...

Então, SOMESERVER usa SMTP novamente para enviar a mensagem para RECEIVESERVER.com na porta 25 (não smtp.mail.RECEIVESERVER.com ou qualquer coisa sofisticada).

Correto - o nome de domínio para o qual enviar é considerado tudo após o '@' no endereço de e-mail do destinatário.Freqüentemente, RECEIVESERVER.com é um apelido para algo mais específico, digamos algo como incoming.RECEIVESERVER.com (ou, na verdade, smtp.mail.RECEIVESERVER.com).

Você pode usar o nslookup para consultar seus servidores DNS locais (isso funciona no Linux e em uma janela cmd do Windows):

nslookup
> set type=mx
> stackoverflow.com
Server:         158.155.25.16
Address:        158.155.25.16#53

Non-authoritative answer:
stackoverflow.com       mail exchanger = 10 aspmx.l.google.com.
stackoverflow.com       mail exchanger = 20 alt1.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 30 alt2.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 40 aspmx2.googlemail.com.
stackoverflow.com       mail exchanger = 50 aspmx3.googlemail.com.

Authoritative answers can be found from:
aspmx.l.google.com      internet address = 64.233.183.114
aspmx.l.google.com      internet address = 64.233.183.27
>                  

Isso nos mostra que o e-mail para qualquer pessoa em stackoverflow.com deve ser enviado para um dos servidores do Gmail mostrados acima.

O artigo da Wikipedia mencionado (http://en.wikipedia.org/wiki/Mx_record) discute os números de prioridade mostrados acima (10, 20, ..., 50).

Outras dicas

Você está procurando o agente de transferência de correio, a Wikipedia tem um belo artigo sobre o assunto.

Dentro dos serviços de tratamento de mensagens da Internet (MHS), um agente de transferência de mensagens ou agente de transferência de correio (MTA) ou retransmissão de correio é um software que transfere mensagens de correio eletrônico de um computador para outro usando uma arquitetura de aplicativo cliente-servidor.Um MTA implementa as partes cliente (envio) e servidor (recepção) do Simple Mail Transfer Protocol.

Os termos servidor de correio, trocador de correio e host MX também podem se referir a um computador que executa a função MTA.O Sistema de Nomes de Domínio (DNS) associa um servidor de correio a um domínio com registros de recursos de trocadores de correio (MX) contendo o nome de domínio de um host que fornece serviços MTA.

Você também pode estar interessado em saber por que o link GMail para HotMail usa SMTP, assim como seu cliente Thunderbird.Em outras palavras, como seu cliente pode enviar e-mail via SMTP e usar DNS para obter o registro MX de hotmail.com, por que ele não o envia diretamente para lá, ignorando completamente o gmail.com?

Existem algumas razões, algumas históricas e outras de segurança.Na pergunta original, presumia-se que o seu cliente Thunderbird efetua login com um nome de usuário e senha.Este não é frequentemente o caso.Na verdade, o SMTP não requer um login para enviar um e-mail.E o SMTP não tem como saber quem realmente está enviando o e-mail.Assim nasceu o spam!

Infelizmente, ainda existem muitos servidores SMTP por aí que permitem que qualquer pessoa se conecte e envie e-mails, confiando cegamente que o remetente é quem afirma ser.Esses servidores são chamados de "retransmissões abertas" e são rotineiramente colocados na lista negra por administradores mais inteligentes de outros servidores de e-mail, por causa do spam que produzem.

Os administradores responsáveis ​​do servidor SMTP configuram seu servidor para aceitar e-mails para entrega apenas em casos especiais 1) o e-mail vem de "sua própria" rede ou 2) o e-mail está sendo enviado para "sua própria" rede ou 3) o usuário apresenta credenciais que o identificam como um remetente confiável.O caso nº 1 é provavelmente o que acontece quando você envia uma correspondência do trabalho;sua máquina está na rede confiável, então você pode enviar e-mails para qualquer pessoa.Muitos servidores de e-mail corporativos ainda não exigem autenticação, então você pode se passar por qualquer pessoa em seu escritório.Diversão!O caso nº 2 é quando alguém lhe envia uma correspondência.E o caso nº 3 é provavelmente o que acontece com o seu exemplo do GMail.Você não vem de uma rede confiável, apenas está na Internet com os spammers.Mas usando uma senha, você pode provar ao GMail que você é quem diz ser.

O aspecto histórico é que antigamente a ligação entre o Gmail e o Hotmail provavelmente era intermitente.Ao colocar suas mensagens em fila em um servidor local, você poderia lavar as mãos, sabendo que quando um link fosse estabelecido, o servidor local poderia transferir suas mensagens para o servidor remoto, que reteria a mensagem até que o agente do destinatário a pegasse. .

O primeiro servidor procurará no DNS um registro MX do servidor Hotmail.MX é um registro especial que define um servidor de email para um determinado domínio.Sabendo o endereço IP do servidor Hotmail, o servidor GMail enviará a mensagem utilizando o protocolo SMTP e aguardará uma resposta.Se o servidor Hotmail cair, o servidor GMail tentará reenviar a mensagem (dependerá da configuração do software do servidor).Se o processo terminar ok, então ok, caso contrário, o servidor GMail irá notificá-lo de que não conseguiu entregar a mensagem.

Se você realmente quer saber como funciona o e-mail, você pode ler o RFC SMTP ou o RFC POP3.

Todos os emails são transferidos usando SMTP (ou ESMTP).
O importante a entender é que quando você envia uma mensagem para someguy@hotmail.com o destino desta mensagem não é o PC dele.O destino é a pasta de entrada de alguém no servidor hotmail.com.
Depois que a mensagem chega ao seu destino.O usuário pode verificar se possui novas mensagens em sua conta no servidor hotmail e recuperá-las usando POP3

Também seria possível enviar a mensagem sem utilizar o servidor Gmail, enviando-a diretamente do seu PC para o hotmail via SMTP.

Etapa 2 a 3 (ou seja,Gmail para Hotmail) normalmente aconteceria através de SMTP (ou ESMTP - SMTP estendido).

O Hotmail não envia nada para um cliente via POP3.É importante entender algumas das nuances aqui.O cliente entra em contato com o Hotmail via POP3 e solicita seu email.(ou seja,o cliente inicia a discussão).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top