¿Qué protocolos y servidores involucrados en el envío de un correo electrónico, y cuáles son los pasos?

StackOverflow https://stackoverflow.com/questions/32744

  •  09-06-2019
  •  | 
  •  

Pregunta

Durante las últimas semanas, he estado tratando de aprender acerca de cómo email funciona.Entiendo el proceso de un cliente de recibir el correo de un servidor mediante POP bastante bien.También entiendo cómo un equipo cliente puede utilizar el SMTP de preguntar a un servidor SMTP para enviar un mensaje.Sin embargo, todavía me falta algo...

La manera en que yo lo entiendo, el correo saliente, tiene que hacer tres viajes:

  1. Cliente (usuario de gmail usando Thunderbird) a un servidor (Gmail)
  2. Primer servidor (Gmail) para el segundo servidor (Hotmail)
  3. Segundo servidor (Hotmail) para el segundo cliente (usuario de hotmail usando OS X Mail)

Como yo lo entiendo, el paso uno utiliza SMTP para el cliente para comunicarse.El cliente se autentica a sí mismo de alguna manera (es decir, con USER y PASS) y, a continuación, envía un mensaje al servidor de gmail.

Sin embargo, no entiendo cómo el servidor de gmail transfiere el mensaje al servidor de hotmail.

Para el tercer paso, estoy bastante seguro, el servidor de hotmail utiliza POP para enviar el mensaje al hotmail cliente (mediante la autenticación, de nuevo).

Así, la gran pregunta es: cuando haga clic en enviar Correo envía mi mensaje a mi servidor de gmail, ¿cómo es que mi servidor de gmail reenviar el mensaje a, por ejemplo, un servidor de hotmail, así que mi amigo puede recibir de ti?

Muchas gracias!

~Jason


Gracias, que ha sido útil hasta ahora.

Como yo lo entiendo, el primer cliente envía el mensaje de que el primer servidor mediante SMTP, a menudo a una dirección, como smtp.mail.SOMESERVER.com en el puerto 25 (por lo general).

Entonces, SOMESERVER utiliza SMTP de nuevo para enviar el mensaje a RECEIVESERVER.com en el puerto 25 (no smtp.mail.RECEIVESERVER.com o algo de fantasía).

Entonces, cuando el destinatario pide RECEIVESERVER por su correo, el uso de POP, s/recibe el mensaje...a la derecha?

Gracias de nuevo (especialmente al dr-ene),

Jason

¿Fue útil?

Solución

El servidor SMTP de Gmail (que aceptó el mensaje de Thunderbird) enviará el mensaje al destinatario final.

Esto se hace mediante el uso de DNS para encontrar el MX (mail exchanger) registro para el nombre de dominio de parte de la dirección de correo de destino (hotmail.com en este ejemplo).El servidor DNS devuelve una dirección IP a la que debe enviarse el mensaje a.El servidor en la dirección IP de destino esperamos que se ejecuta el servidor SMTP (en el puerto estándar 25) de modo que pueda recibir los mensajes entrantes.

Una vez que el mensaje ha sido recibido por el servidor de hotmail, es almacenada hasta que el usuario apropiado registra y recupera sus mensajes usando el POP o IMAP).

Jason - para responder a su seguimiento...

Entonces, SOMESERVER utiliza SMTP de nuevo para enviar el mensaje a RECEIVESERVER.com en el puerto 25 (no smtp.mail.RECEIVESERVER.com o algo de fantasía).

Eso es correcto - el nombre de dominio para enviar a es tomado como un todo, después de la " @ " en la dirección de correo electrónico del destinatario.A menudo, RECEIVESERVER.com es un alias para algo más específico, decir algo como incoming.RECEIVESERVER.com (o, de hecho, smtp.mail.RECEIVESERVER.com).

Usted puede utilizar nslookup para la consulta de los locales de los servidores DNS (esto funciona en Linux y en Windows la ventana cmd):

nslookup
> set type=mx
> stackoverflow.com
Server:         158.155.25.16
Address:        158.155.25.16#53

Non-authoritative answer:
stackoverflow.com       mail exchanger = 10 aspmx.l.google.com.
stackoverflow.com       mail exchanger = 20 alt1.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 30 alt2.aspmx.l.google.com.
stackoverflow.com       mail exchanger = 40 aspmx2.googlemail.com.
stackoverflow.com       mail exchanger = 50 aspmx3.googlemail.com.

Authoritative answers can be found from:
aspmx.l.google.com      internet address = 64.233.183.114
aspmx.l.google.com      internet address = 64.233.183.27
>                  

Esto nos muestra que el correo electrónico a nadie stackoverflow.com deben ser enviados a uno de los servidores de gmail se muestra arriba.

El artículo de la Wikipedia se menciona (http://en.wikipedia.org/wiki/Mx_record) analiza los números de prioridad se muestra arriba (10, 20, ..., 50).

Otros consejos

Estás buscando el Agente de Transferencia de Correo, Wikipedia se ha un buen artículo sobre el tema.

Dentro de los mensajes de Internet servicios de manejo (MHS), un agente de transferencia de mensajes o agente de transferencia de correo (MTA) o de retransmisión de correo es un software que transfiere mensajes de correo electrónico desde un equipo a otro mediante una aplicación cliente–servidor la arquitectura.Un MTA implementa tanto el cliente (emisor) y el servidor (recepción) partes del Protocolo de Transferencia de Correo.

Los términos del servidor de correo, intercambiador de correo, y MX host también puede referirse a un equipo de la realización de la MTA de la función.El Sistema de nombres de Dominio (DNS) se asocia a un servidor de correo para un dominio con intercambiador de correo (MX) registros de recursos que contiene el nombre de dominio de un host que proporciona los servicios de MTA.

Usted también puede estar interesado en saber por qué el GMail a HotMail link utiliza SMTP, al igual que tu cliente Thunderbird.En otras palabras, ya que su cliente puede enviar un correo electrónico a través de SMTP, y se puede utilizar DNS para obtener el registro MX para hotmail.com, ¿por qué no acaba de enviar directamente allí, saltando gmail.com en total?

Hay un par de razones, algunas históricas y otras para la seguridad.En la pregunta original, se supone que su cliente Thunderbird inicia sesión con un nombre de usuario y contraseña.Esto es a menudo no es el caso.SMTP en realidad no requiere un inicio de sesión para enviar un correo.Y SMTP no tiene manera de saber quién es realmente el envío de correo.Por lo tanto, el spam nació!

Por desgracia, hay todavía muchos servidores SMTP por ahí que permiten que cualquiera pueda conectarse y enviar correo, confiando ciegamente en que el remitente es quien dice ser.Estos servidores son llamados "open relay" y son rutinariamente en la lista negra por más inteligente que los administradores de otros servidores de correo, debido al spam que producen.

Responsable del servidor SMTP de administradores de configurar su servidor para que acepte correo para la entrega sólo en casos especiales 1) el correo electrónico proveniente de "su propia" de la red, o 2) el correo se envía a "su propia" de la red, o 3) el usuario presenta credenciales que lo identifica como un remitente de confianza.Caso #1 es probablemente lo que sucede cuando usted envía un correo de trabajo;su equipo está en la red de confianza, por lo que usted puede enviar correo electrónico a nadie.Muchos de los servidores de correo empresariales aún no requieren autenticación, por lo que se puede suplantar la identidad de alguien en su oficina.La diversión!Caso #2 es cuando alguien le envía por correo.Y el caso #3 es probablemente lo que sucede con tu cuenta de GMail ejemplo.No está viniendo de una red de confianza, su justo fuera en el Internet con los spammers.Pero mediante el uso de una contraseña, usted puede probar GMail que son quienes dicen que son.

El aspecto histórico es que en los viejos tiempos, el vínculo entre gmail y hotmail era probable que ser intermitente.Por la cola de su correo en un servidor local, puede lavarse las manos de él, a sabiendas de que cuando un vínculo se estableció, el servidor local podría traslado tus mensajes al servidor remoto, que se mantenga el mensaje hasta que el destinatario del agente de la recogió.

El primer servidor buscará en DNS para un registro MX del servidor de Hotmail.MX es un registro especial que define un servidor de correo para un dominio determinado.Conocer la dirección IP del servidor de Hotmail, GMail servidor envía el mensaje usando el protocolo SMTP y esperar una respuesta.Si el servidor de Hotmail va hacia abajo, servidor de GMail wiil intenta volver a enviar el mensaje (depende del servidor de configuración de software).Si el proceso termina ok, ok, si no, el servidor de GMail le notificará que él no era capaz de entregar el mensaje.

Si realmente quieres saber cómo email funciona se podía leer la SMTP RFC o el POP3 RFC.

Todos los correos electrónicos que se transfieren mediante SMTP o ESMTP).
La cosa importante a entender es que cuando se envía un mensaje a someguy@hotmail.com este mensaje del destino no es su PC.El destino es someguy de la carpeta bandeja de entrada en hotmail.com servidor.
Después de que el mensaje llega a su destino.El usuario puede comprobar si tiene mensajes nuevos en su cuenta en el servidor de hotmail y recuperarlos mediante POP3

También sería posible enviar el mensaje sin utilizar el servidor de gmail, mediante el envío directamente desde su PC a hotmail a través de SMTP.

Paso 2 a 3 (es decir,Gmail, Hotmail) normalmente sucedería a través de SMTP o ESMTP SMTP extendido).

Hotmail no envía nada a un cliente a través de POP3.Es importante entender algunos de los matices aquí.El cliente de contactos de Hotmail a través de POP3 y pide su correo.(es decir,el cliente inicia la discusión).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top