Aprendi que o endereço FROM e o endereço TO são repetidos em um elemento oculto chamado "envelope" e repetidos novamente no "corpo".
Questão
- Por que os dados do envelope não são copiados no "cabeçalho"?
- Por que essa duplicação existe, por que os recursos necessários não podem ser incorporados à própria mensagem?
- Todos os transportes de mensagem (não SMTP) fazem isso?
- Que alternativas ao SMTP existem? (para entender melhor o raciocínio)
Respostas:
Os endereços no cabeçalho de uma mensagem de email servem a propósitos diferentes do remetente e do destinatário do envelope (que na verdade não são ocultos por si só , eles apenas não fazem parte da mensagem).
O remetente e o destinatário do envelope, que você nunca vê em uma mensagem, fazem parte do protocolo SMTP e especificam instruções de entrega , ou seja, para qual caixa de correio o servidor de email deve entregar a mensagem ou para onde devolvê-la, em caso de algum fracasso. Nenhum endereço é necessário para ter qualquer relação com o conteúdo semântico da mensagem. Estes são explicados em detalhes nas seções 4.1.1.2 e 4.1.1.3 da RFC 5321 .
Logicamente, são análogos aos endereços impressos no envelope de uma correspondência postal.
Os endereços de origem e destino que aparecem na própria mensagem indicam significados semânticos, em vez de instruções de entrega explícitas. Estes são explicados em detalhes na seção 3.6.3 da RFC 5322 e na seção 2.1 da RFC 6854 (que obsoleta a seção 3.6.2 da RFC 5322).
Em resumo, De: na mensagem indica a caixa de correio de quem a escreveu, Remetente: indica a entidade que enviou uma mensagem em nome de outra pessoa e Para: e Cc: indica a caixa de correio do destinatário pretendido. Os RFCs definem outros campos de cabeçalho nos quais você também pode estar interessado.
Logicamente, estes são análogos aos endereços impressos na correspondência dentro de uma correspondência postal.
Geralmente, o remetente e o destinatário do envelope são os mesmos dos endereços De: e Para:. Mas é comum que eles não tenham nenhuma correspondência, por exemplo, no caso de listas de discussão.
fonte
O cenário mais comum em que você verá uma diferença é durante a entrega de um email com vários destinatários.
Digamos que você esteja prestes a enviar um email para:
Quando o seu cliente de email estiver enviando o email para o servidor de email, todos os três endereços serão repetidos no envelope e nos cabeçalhos. Em seguida, o servidor de correio procurará os registros MX
example.com
eexample.net
continuará a entrega.Seu servidor de email agora estabelecerá duas conexões SMTP separadas com cada um dos servidores de recebimento para enviar o email ainda mais.
Ao se comunicar com o MX para
example.com
todos os três receptores ainda estará noTo
cabeçalho, mas haverá apenas um único receptor de envelope.Ao se comunicar com o MX para
example.net
todos os três receptores ainda estará noTo
cabeçalho, mas haverá apenas dois receptores de envelope.Como um análogo ao descrito acima, você imprimiu três cópias de uma carta com três destinatários escritos no papel. Você colocaria esses três pedaços de papel em três envelopes separados e escreveria apenas um endereço em cada envelope.
Existem outros cenários nos quais isso faz diferença, como ao usar
bcc
e ao encaminhar emails.Como um análogo levemente artificial, imagine que você está trocando cartas com alguma entidade. Desconhecido para essa entidade, você cria uma fotocópia de cada uma dessas cartas que coloca em um envelope endereçado ao seu advogado.
fonte