Vamos começar com um exemplo simples. Digamos que você tenha uma lista de e-mails que enviará o seguinte conteúdo RFC2822 .
From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
Agora, digamos que você o envie a partir de uma lista de correspondência, que implementa o VERP (ou algum outro mecanismo de rastreamento de rejeição que usa um caminho de retorno diferente). Vamos dizer que ele terá um caminho de retorno de coolstuff-you=yourcompany.com@mymailinglist.com
. A sessão SMTP pode parecer com:
{S}220 workstation1 Microsoft ESMTP MAIL Service
{C}HELO workstation1
{S}250 workstation1 Hello [127.0.0.1]
{C}MAIL FROM:<coolstuff-you=yourcompany.com@mymailinglist.com>
{S}250 2.1.0 me@mycompany.com....Sender OK
{C}RCPT TO:<you@yourcompany.com>
{S}250 2.1.5 you@yourcompany.com
{C}DATA
{S}354 Start mail input; end with <CRLF>.<CRLF>
{C}From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
.
{S}250 Queued mail for delivery
{C}QUIT
{S}221 Service closing transmission channel
Onde {C} e {S} representam comandos de Cliente e Servidor, respectivamente.
O e-mail do destinatário seria semelhante a:
Return-Path: coolstuff-you=yourcompany.com@mymailinglist.com
From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
Agora, vamos descrever os diferentes "FROM" s.
- O caminho de retorno (às vezes chamado de caminho reverso, remetente do envelope ou envelope de - todos esses termos podem ser usados de forma intercambiável) é o valor usado na sessão SMTP no
MAIL FROM
comando. Como você pode ver, isso não precisa ser o mesmo valor encontrado nos cabeçalhos da mensagem. Somente o servidor de email do destinatário deve adicionar um cabeçalho Return-Path na parte superior do email. Isso registra o remetente do caminho de retorno real durante a sessão SMTP. Se um cabeçalho Return-Path já existir na mensagem, esse cabeçalho será removido e substituído pelo servidor de email do destinatário.
Todas as devoluções que ocorrem durante a sessão SMTP devem retornar ao endereço do caminho de retorno. Alguns servidores podem aceitar todos os emails e enfileirá-los localmente, até que haja um encadeamento gratuito para entregá-lo na caixa de correio do destinatário. Se o destinatário não existir, retorne ao valor do caminho de retorno registrado.
Observe que nem todos os servidores de email obedecem a essa regra; Alguns servidores de correio retornam para o endereço FROM.
O endereço FROM é o valor encontrado no cabeçalho FROM. É suposto ser de quem é a mensagem. Isso é o que você vê como "DE" na maioria dos clientes de email. Se um email não tiver um cabeçalho de resposta, todas as respostas humanas (cliente de email) deverão retornar ao endereço FROM.
O cabeçalho Responder para é adicionado pelo remetente (ou pelo software do remetente). É onde todas as respostas humanas devem ser abordadas também. Basicamente, quando o usuário clica em "responder", o valor Responder a deve ser o valor usado como o destinatário do email recém-composto. O valor Responder para não deve ser usado por nenhum servidor. Destina-se apenas ao uso do cliente (MUA).
No entanto, como você pode perceber, nem todos os servidores de email obedecem aos padrões ou recomendações da RFC.
Espero que isso ajude a esclarecer as coisas. No entanto, se eu perdi alguma coisa, me avise e tentarei responder.