2012-05-30 12 views
16

Al enviar un correo electrónico, la lista de destinatarios se proporciona durante el diálogo SMTP a través del comando RCTP TO :. Más tarde, en el comando DATA, se indican campos de encabezado como 'A', 'Cc', 'bcc'. ¿Esta lista de destinatarios RCPT TO debe coincidir con los encabezados indicados en el comando DATA?En SMTP, ¿deben coincidir los RCPT TO: y TO:?

Además, si el destinatario no está indicado en RCPT TO, pero en el campo A de encabezado de correo electrónico, es que va a ser entregado al destinatario en la que no RCPT TO?

Respuesta

5

protocolo SMTP (RFC 2821) afirma lo siguiente:

cuando se está utilizando RFC 822 formato [7, 32], los datos de correo incluyen los elementos de cabecera
memo tales como fecha, asunto, To, Cc, De. Servidor SMTP
sistemas no deberían rechazar los mensajes basados ​​en defectos percibidos en el
RFC 822 o MIME [12] cuerpo cabecera del mensaje o el mensaje.

Y esto:

el comando de datos puede fallar en sólo dos puntos en el protocolo de intercambio :

  • Si no había CORREO, o ninguna RCPT, comando, o todos tales comandos fueron rechazadas, el servidor puede devolver un "comando fuera de secuencia" (503) o "no válidos" receptores (554) de respuesta en respuesta al comando DATA . Si una de esas respuestas (o cualquier otra respuesta 5yz) es recibida, el cliente NO DEBE enviar los datos del mensaje; más generalmente, los datos del mensaje NO DEBEN enviarse a menos que se reciba una respuesta 354 .

partir de estas declaraciones, los encabezados y RCPT TO: contenido de comando no tiene por qué coincidir (Altough deben coincidir), y no usar RCPT TO: puede resultar en un error para evitar continuar con comando DATA.

+4

y un caso cuando RCPT y A: no coinciden. ¿Quién es el destinatario real en este caso? – Jelena

+0

@Jelena, creo que es el RCPT eso es todo lo que importa y el 'To:' puede ser datos aleatorios. – Pacerier

13

No, ellos no tienen que coincidir. Una vez enviado el mensaje, el servidor SMTP (también conocido como transferencia de mensajes Agent o MTA) es la creación de un llamado sobre SMTP que contiene los destinatarios y el remitente del mensaje (ver RFC5321):

SMTP transporta una objeto de correo. Un objeto de correo contiene un sobre y contenido. El sobre SMTP se envía como una serie de unidades de protocolo SMTP (descritas en la Sección 3). Se compone de una dirección de originador (a la que los informes de errores deben ser dirigidas), una o más direcciones de destinatarios , y material de extensión de protocolo facultativo.

Es, de hecho, muy a menudo que el comando RCPT TO: tiene más destinatarios que la cabecera del mensaje - un caso común es el uso de "copia oculta" CCO: (ver RFC5321):

Las direcciones que no aparecen en la sección del encabezado del mensaje pueden aparecer en los comandos RCPT a un servidor SMTP por varias razones.Los dos más comunes implican el uso de una dirección postal como "lista explosor" (una sola dirección que se resuelve en varias direcciones) y la apariencia de "copias ocultas".

6

¿Esto RCPT a la lista de destinatarios han de combinar con las cabeceras indicadas en el comando de datos?

Nope.

si el destinatario no está indicado en RCPT TO, pero en el campo Para de encabezado de correo electrónico, es que va a ser entregado al destinatario no en RCPT TO ?

El RCPT. He aquí una transcripción (modificado) de mi propio cliente SMTP, donde yo justo lo que pregunto:

CLIENT: MAIL FROM:<[email protected]> 
SERVER: 250 2.1.0 OK 
CLIENT: RCPT TO:<[email protected]> 
SERVER: 250 2.1.5 OK 
CLIENT: DATA 
SERVER: 354 Go ahead 
CLIENT: Subject: Test email 
CLIENT: From:'John Doe'<[email protected]> 
CLIENT: To:'John Doe'<[email protected]> 
CLIENT: This is a test... 
CLIENT: . 

El mensaje se envió con éxito al "[email protected]".

+0

Por cierto, los campos del FMI (A, Desde) pueden aparecer en su cliente de correo electrónico, por lo que parece que proceden y/o se envían a la dirección incorrecta. –