De hecho, comencé a pensar en esto porque olvidé enviar un correo electrónico a alguien en un correo electrónico que se suponía que debía enviar, y quería que él obtuviera una copia sin enviarlo a todos los demás. Terminé enviándolo a él, pero todavía tengo curiosidad.
¿Dónde se manejan las listas CC y BCC en SMTP? ¿Necesitaría controlar el servidor SMTP, o se puede hacer del lado del cliente?
¡Gracias!
Respuestas:
En resumen: sí, es posible si puede conectarse directamente al servidor SMTP de los destinatarios. Por las razones que Rup describe en su respuesta , puede que no sea especialmente práctico, y si está en una red detrás de un firewall, es posible que no pueda conectarse a un servidor remoto en el puerto TCP 25.
Suponiendo que esto no se aplica a usted, entonces aquí está el detalle:
Cuando usted (como cliente de correo) se conecta al servidor de correo del destinatario, todo lo que le importa (para fines de entrega) son los destinatarios especificados en
RCPT TO:
. Consulte RFC2821 - Protocolo simple de transferencia de correo . No diferencia entre el tipo de destinatario (a :, cc: o bcc :), solo sabe que está diciendo "asegúrese de que el destinatario en su servidor reciba esto".Sin embargo, en lo que respecta al cliente de correo real del destinatario, son los encabezados del mensaje los que dicen quiénes fueron todos los destinatarios del mensaje. Consulte RFC2822 - Formato de mensaje de Internet .
En otras palabras, los encabezados TO :, CC: y BCC: están ahí para beneficio del cliente de correo, mientras que la distribución real se maneja durante la 'conversación' SMTP con los servidores de correo.
De hecho, puede tener una conversación con un servidor SMTP que se parece a esto:
El efecto neto es que
[email protected]
recibe una copia del correo electrónico que lo tiene en la lista de cc, así como el destinatario original[email protected]
y el destinatario original de cc[email protected]
.Sin embargo, dado que nunca nos conectamos a los servidores de correo de los dos últimos, en realidad no reciben el correo electrónico por segunda vez. Y dado que no podemos cambiar los correos que ya se les han enviado antes, nunca notarán que agregamos otro destinatario cc.
fuente
Lo que pasa es
es decir, si puede inyectar el correo electrónico en 3, entregarlo directamente en el servidor SMTP de inicio del usuario CC perdido, entonces puede enviarlo CC sin tener que enviar el correo a todos los demás. En particular, un destinatario de BCC recibirá encabezados y cuerpo de mensaje que no los menciona en absoluto (excepto tal vez un encabezado 'X-Envelope-To').
Sin embargo, en términos prácticos, es mucho más fácil enviarlo a todos. Para hacer esto de manera eficiente, necesitaría modificar su cliente de correo electrónico y el servidor SMTP local para admitir una lista de destinatarios falsos, o una lista de exclusión de no enviar realmente, que procesa durante la expansión del destinatario.
fuente
En realidad, este problema se resuelve mediante un trabajo en progreso IETF existente: la copia cosmética de carbón . Desafortunadamente, no conozco a ningún cliente de correo electrónico que realmente implemente CCC, ya que el borrador es ampliamente considerado como una broma sin sentido para April Fool's Day.
Con toda seriedad, lo que está preguntando es posible, principalmente porque el contenido de un correo electrónico en realidad no afecta a quién se envía el correo en la capa SMTP. Los clientes de correo electrónico se escriben para enviar correo a todos en los campos Para, CC y CCO, pero no están obligados a hacerlo por ningún estándar.
Actualizado: para ser precisos, al enviar correo a un servidor SMTP, el remitente utiliza el comando RCPT para especificar a qué direcciones de correo electrónico debe enviarse un mensaje. Luego envía el contenido del correo con un comando DATA. El servidor SMTP no debería mirar el contenido. Debería ser posible agregar un destinatario a la línea de encabezado CC de un mensaje y pedirle al servidor SMPT que lo entregue a esa única dirección.
fuente
Si entiendo esto correctamente, lo que está tratando de hacer es enviar un mensaje por segunda vez, incluidos los destinatarios originales en los encabezados Para: y CC: pero solo ese mensaje es recibido por algunos destinatarios adicionales. Como han señalado otras respuestas, su cliente de correo electrónico puede lograr esto comunicándose con el servidor SMTP y especificando solo un destinatario, pero incluyendo los encabezados To: y Cc: del correo electrónico original.
El cliente de Apple Mail tiene una funcionalidad que puede hacer esto de manera efectiva. La función Redirigir se puede encontrar en el menú Mensaje o en el menú contextual de un mensaje. Esta función está diseñada para usarse como una forma transparente de reenviar un correo electrónico a otra persona sin agregar Fwd: a la línea de asunto y aumentar el nivel de presupuesto, pero también se puede usar en mensajes que ha enviado anteriormente. Mantiene los campos To / Cc / From del mensaje original igual y agrega los nuevos destinatarios en los encabezados Resent-To y Resent-CC. Los únicos destinatarios del mensaje reenviado serán los que especifique al redactarlo. No es completamente obvio cómo funciona esto cuando hace uso de la función, así que asegúrese de probarlo de antemano.
fuente
Puede permitirse / deshabilitarse cliente por cliente, pero puede intentar poner algo falso (como ";; destinatarios no revelados ;;") en el Para y poner a todos en el BCC. Luego, la repetición del proceso hará que parezca el mismo correo electrónico, siempre y cuando nadie esté mirando lo suficientemente cerca de las marcas de tiempo y mensajes enhebrados y demás.
fuente