Comencemos con un ejemplo simple. Supongamos que tiene una lista de correo electrónico, que enviará el siguiente contenido 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.
Ahora, supongamos que lo va a enviar desde una lista de correo, que implementa VERP (o algún otro mecanismo de seguimiento de rebote que utiliza una ruta de retorno diferente). Digamos que tendrá un camino de retorno de coolstuff-you=yourcompany.com@mymailinglist.com
. La sesión SMTP podría verse así:
{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
Donde {C} y {S} representan los comandos Cliente y Servidor, respectivamente.
El correo del destinatario se vería así:
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.
Ahora, describamos los diferentes "DE".
- La ruta de retorno (a veces llamada ruta inversa, remitente del sobre o sobre, todos estos términos se pueden usar indistintamente) es el valor utilizado en la sesión SMTP en el
MAIL FROM
comando. Como puede ver, no es necesario que sea el mismo valor que se encuentra en los encabezados de los mensajes. Se supone que solo el servidor de correo del destinatario agrega un encabezado de ruta de retorno a la parte superior del correo electrónico. Esto registra el remitente de la ruta de retorno real durante la sesión SMTP. Si ya existe un encabezado de ruta de retorno en el mensaje, ese encabezado se elimina y se reemplaza por el servidor de correo del destinatario.
Todos los rebotes que ocurren durante la sesión SMTP deben volver a la dirección de la ruta de retorno. Algunos servidores pueden aceptar todo el correo electrónico y luego ponerlo en cola localmente, hasta que tenga un hilo libre para entregarlo al buzón del destinatario. Si el destinatario no existe, debe devolverlo al valor de Ruta de retorno registrado.
Tenga en cuenta que no todos los servidores de correo obedecen esta regla; Algunos servidores de correo lo devolverán a la dirección DE.
La dirección FROM es el valor que se encuentra en el encabezado FROM. Se supone que es de quién es el mensaje. Esto es lo que ve como "DE" en la mayoría de los clientes de correo. Si un correo electrónico no tiene un encabezado de respuesta, todas las respuestas humanas (cliente de correo) deben volver a la dirección DE.
El remitente (o el software del remitente) agrega el encabezado Responder a. Es donde también deben abordarse todas las respuestas humanas. Básicamente, cuando el usuario hace clic en "responder", el valor de Responder a debe ser el valor utilizado como destinatario del correo electrónico recién redactado. El valor de Responder a no debe ser utilizado por ningún servidor. Está destinado solo para uso del lado del cliente (MUA).
Sin embargo, como puede ver, no todos los servidores de correo obedecen los estándares o recomendaciones de RFC.
Esperemos que esto ayude a aclarar las cosas. Sin embargo, si me perdí algo, avíseme y trataré de responder.