Cuando envío un correo electrónico a alguien, ¿qué sucede para enviar ese mensaje?

El núcleo del sistema de correo electrónico es el Agente de transferencia de correo (MTA) que almacena y reenvía mensajes. Piense en esto como la “Oficina de correos”. Interactúa con MTA de correo electrónico utilizando un Agente de usuario de correo (MUA), que es algo que está utilizando para enviar y recibir mensajes, como Thunderbird, Outlook o la interfaz web de GMail, Yahoo o AOL.

Cuando envía un mensaje desde su MUA, lo envía a [correo electrónico protegido]. Una vez que presiona ENVIAR, suceden algunas cosas:

  • El correo está codificado en un formato apropiado (generalmente MIME).
  • El MUA realiza una búsqueda de DNS para el servidor configurado del Protocolo simple de transferencia de correo (SMTP) para encontrar el MTA local que utiliza el MUA.
  • Dependiendo de la configuración / capacidad de MUA, se conectará a uno de los tres puertos designados y puede o no usar inicio de sesión / autenticación o encriptación. SMTP se diseñó originalmente para funcionar sin ningún tipo de inicio de sesión / autenticación, razón por la cual tenemos tanto spam.
  • El MUA entrega el mensaje codificado al MTA local.

Una vez que el MTA local tiene el mensaje codificado, necesita retransmitirlo.

  • El MTA realiza una búsqueda de DNS para el registro de Mail eXchanger (registro MX) del dominio del destinatario (por ejemplo, somesite.com). Si no hay registro MX, utilizará una búsqueda directa de DNS de la dirección (registro A y AAAA) del sitio.
  • El MTA intentará conectarse al dispositivo designado para manejar el correo electrónico. Si no existe tal sitio, ese MTA local generará un mensaje de correo electrónico de error al remitente.
  • Si el MTA puede buscar el sitio DNS pero no puede conectarse a él, el MTA retendrá el mensaje localmente y enviará correos electrónicos de advertencia al remitente cada pocas horas que el MTA distante es inalcanzable. Después de un cierto período de tiempo (normalmente 4 días), se dará por vencido y enviará un error y dejará de intentar enviar el mensaje.
  • Una vez que el MTA local se conecta al MTA distante, se entrega el mensaje. Estas conexiones se diseñaron originalmente para enviarse sin cifrar, pero después de los incidentes de Edward Snowden, más proveedores importantes usan STARTTLS para cifrar la comunicación MTA a MTA.

Barra lateral: la comunicación de MTA a MTA puede regirse por todo tipo de pasos contra correo no deseado, antifraude y antimalware. Para los propósitos de esta respuesta, lo quitaré a mano como “magia”. Baste decir que hay muchos controles en el camino para buscar actores malos y detenerlos.

El MTA distante puede o no ser la máquina que recibe el mensaje final. La mayoría de los sitios grandes tienen un MTA de borde que se distribuye a los diferentes MTA internos dentro de la empresa. Si la MTA que recibe el correo electrónico no es el destino final, puede haber varias transferencias de MTA a MTA según la política de esa red. Nuevamente, llamaré a esta parte “magia”.

Cuando el MTA de destino ingiere el mensaje, debe colocar el mensaje en un buzón de usuario:

  • Cuando un MTA de entrega final recibe un mensaje, el MTA verificará si el nombre del buzón (lado izquierdo de la “@”) es válido en el sistema. De lo contrario, el MTA receptor se negará a aceptar el mensaje, y el MTA más reciente en la ruta que realiza esa conexión generará un error al remitente original.
  • Si el destinatario es válido y el mensaje borra varias comprobaciones de validez, el MTA lo leerá en el mensaje y lo colocará en el spool (buzón) para ese usuario.

Una vez que el mensaje está en el buzón del destinatario, ese destinatario usará su propio MUA para obtener el mensaje de su MTA local, utilizando un conjunto de protocolos como POP, IMAP o el protocolo propietario de Microsoft MAPI.

Barra lateral: listas de correo. Puede pensar en las listas de correo como un “usuario especial”. Una lista de correo es como cualquier otro buzón, excepto que el correo recibido en ese buzón se envía a un programa en lugar de al buzón de un usuario. Ese programa (que normalmente se llama “exploder”) copiará el mensaje a una lista de usuarios y tal vez envíe una copia del mensaje a un archivo.

Como era de esperar, hay muchos, muchos libros escritos sobre este tema. Este es solo un resumen básico para comenzar su propia investigación.

Sam Donaldson , años de experiencia analizando campañas de correo electrónico
1. Primero llega al servidor de correo (parte de su proveedor de servicios de Internet)
2. El mensaje se envía con el Protocolo simple de transferencia de correo (para hablar con el servidor de correo)
3. Enviado a los destinatarios Servidor de Protocolo simple de transferencia de correo (servidor de correo) donde el proceso se mueve en orden inverso

Mira las excelentes respuestas a esta pregunta:
¿Cómo funciona un correo electrónico? ¿Cuáles son las diferentes funciones involucradas en él?
Todo lo que querías saber.

Esto suena como otra pregunta similar que respondí. Aquí está el enlace a esa respuesta mía. Respuesta de @Matthew Ring Cuando envío un correo electrónico a alguien, ¿qué sucede para enviar ese mensaje?