Protocolo para transferencia simple de correo para niños
Datos para niños Protocolo Simple de Transferencia de Correo |
||||||||
---|---|---|---|---|---|---|---|---|
Familia | Familia de protocolos de Internet | |||||||
Función | Envío de mensajes de correo-e | |||||||
Puertos | 25/TCP 587/TCP (alternativo para clientes de correo seguros) 465/TCP (SMTPS) |
|||||||
Ubicación en la pila de protocolos | ||||||||
|
||||||||
Estándares | ||||||||
RFC 821 (1982) RFC 2821 (2001) RFC 5321 (2008) |
||||||||
El Protocolo Simple de Transferencia de Correo (conocido como SMTP, por sus siglas en inglés: Simple Mail Transfer Protocol) es como el servicio postal de Internet para los correos electrónicos. Es un conjunto de reglas que usan los ordenadores y otros aparatos (como teléfonos móviles o tabletas) para enviar mensajes de correo electrónico de un lugar a otro.
SMTP se encarga de que tu correo salga de tu bandeja de salida y llegue al servidor de correo de destino. Sin embargo, para recibir los correos en tu bandeja de entrada, se usan otros protocolos como POP3 o IMAP. Así, SMTP se especializa en el envío, mientras que los otros se encargan de la recepción.
Contenido
Historia del SMTP
¿Quién creó el SMTP?
El primer sistema basado en SMTP para enviar correos electrónicos fue diseñado por Jon Postel en 1980 y publicado en 1982. Este sistema se usó en ARPANET, una red que fue el origen de Internet. Las reglas de SMTP se definieron en documentos llamados RFC 821 y RFC 822. Estos documentos son como manuales que explican cómo debe funcionar el protocolo.
¿Cómo funciona la comunicación SMTP?
El funcionamiento de SMTP se basa en un modelo de cliente-servidor. Imagina que tu programa de correo es el "cliente" y el servidor de correo es el "servidor". El cliente envía un mensaje al servidor, y el servidor le responde.
Esta comunicación se hace con líneas de texto. Al principio, solo se usaban caracteres básicos (como los del teclado en inglés), pero ahora se pueden usar muchos más, incluyendo los de otros idiomas. Las respuestas del servidor son códigos de tres números seguidos de un texto. El número ayuda a los programas a entender la respuesta, y el texto es para que las personas lo lean.
¿Cómo viaja un correo electrónico?
Cuando envías un correo, pasa por varios pasos:
- Tu programa de correo (llamado MUA, por Mail User Agent) envía el mensaje a un servidor de correo (MSA, por Mail Submission Agent) usando SMTP. Esto suele ocurrir a través del puerto 587.
- Desde el MSA, el correo se envía a otro servidor llamado MTA (por Mail Transfer Agent). El MTA es como el cartero principal que lleva el correo por Internet.
- Para saber a dónde enviar el correo, el MTA usa el sistema de nombres de dominio (DNS). Busca una dirección especial llamada registro MX, que le dice cuál es el servidor de correo correcto para el destinatario.
- Una vez que el correo llega al servidor de destino, este lo entrega a un MDA (por Mail Delivery Agent). El MDA es el que guarda el correo en tu buzón virtual.
- Finalmente, tú puedes acceder a tu correo usando programas o aplicaciones que utilizan protocolos como IMAP o POP3 para leer los mensajes guardados.
Puertos de conexión para SMTP
Los puertos son como puertas numeradas en un servidor. SMTP usa diferentes puertos para distintas funciones:
- Puerto 25: Es el puerto tradicional para enviar correos entre servidores. Algunos proveedores de Internet lo bloquean para evitar el envío de correos no deseados (spam).
- Puerto 587: Es el puerto recomendado para que los usuarios envíen correos desde sus programas de correo. Es más seguro porque permite la autenticación (verificar tu identidad con usuario y contraseña).
- Puerto 465: A veces se usa para enviar correos de forma segura, pero el puerto 587 es el más estándar para esto.
Algunos servidores están configurados para que solo puedas enviar correos a través del puerto 587 si te identificas correctamente. Esto ayuda a mantener la seguridad y a evitar el envío de correos no deseados.
Comandos básicos de SMTP
Cuando tu programa de correo se comunica con un servidor SMTP, usa una serie de comandos. Aquí te explicamos los más importantes:
- HELO o EHLO: Es el primer saludo. Tu programa le dice al servidor "Hola, soy yo". Si el servidor soporta funciones avanzadas, se usa EHLO.
- MAIL FROM: Le dice al servidor quién envía el correo. Es la dirección de correo del remitente.
- RCPT TO: Le dice al servidor a quién va dirigido el correo. Puedes usar este comando varias veces si envías el correo a varias personas.
- DATA: Indica que a continuación se enviará el contenido del mensaje (el asunto, el cuerpo del correo, etc.). El mensaje termina con una línea que solo contiene un punto.
- QUIT: Cierra la conexión con el servidor.
Ejemplo de una conversación SMTP
Imagina que tu ordenador (C: Cliente) y el servidor de correo (S: Servidor) están hablando:
S: 220 Servidor SMTP (El servidor dice: "Estoy listo") C: HELO miequipo.midominio.com (Tu ordenador dice: "Hola, soy miequipo") S: 250 Hello, pleased to meet you (El servidor responde: "Hola, encantado") C: MAIL FROM: <yo@midominio.com> (Tu ordenador dice: "El correo es de yo@midominio.com") S: 250 Ok (El servidor dice: "De acuerdo") C: RCPT TO: <destinatario@sudominio.com> (Tu ordenador dice: "Es para destinatario@sudominio.com") S: 250 Ok (El servidor dice: "De acuerdo") C: DATA (Tu ordenador dice: "Ahora te envío el mensaje") S: 354 End data with <CR><LF>.<CR><LF> (El servidor dice: "Envía el mensaje y termina con un punto en una línea nueva") C: Subject: Campo de asunto C: From: yo@midominio.com C: To: destinatario@sudominio.com C: C: Hola. C: Esto es una prueba. C: Hasta luego. C: C: . (Tu ordenador envía el mensaje y el punto final) S: 250 Ok: queued as 12345 (El servidor dice: "Mensaje recibido y en cola") C: quit (Tu ordenador dice: "Adiós") S: 221 Bye (El servidor dice: "Adiós")
Formato de un mensaje SMTP
El mensaje que envías con el comando DATA tiene dos partes:
- Cabecera: Son las primeras líneas del mensaje. Contienen información como el asunto (Subject), quién lo envía (From) y a quién va dirigido (To). Esto ayuda a los programas de correo a organizar y mostrar el mensaje.
- Cuerpo del mensaje: Es el texto principal de tu correo. En el SMTP básico, es solo texto y termina con una línea que contiene un solo punto.
SMTP y la seguridad
¿Cómo se controla el acceso a los servidores?
Los administradores de servidores de correo necesitan controlar quién puede enviar correos a través de sus servidores. Esto es importante para la seguridad y para evitar el envío de correos no deseados.
Antes, muchos servidores solo permitían enviar correos a usuarios que estuvieran conectados a la misma red o que tuvieran una dirección IP específica. Esto era un problema si viajabas, porque tu correo no se enviaría.
Hoy en día, la mayoría de los servidores SMTP modernos piden que te identifiques con un nombre de usuario y una contraseña antes de permitirte enviar correos. Esto se llama autenticación y es mucho más seguro y práctico, ya que puedes enviar correos desde cualquier lugar.
¿Cómo ayuda SMTP a combatir el correo no deseado?
Una de las limitaciones del SMTP original era que no verificaba la identidad de quien enviaba el correo. Esto facilitaba el envío de correo no deseado (spam). Para solucionar esto, se crearon extensiones como SMTP-AUTH, que permite la autenticación.
Además, han surgido otras tecnologías para combatir el spam, como DKIM, Sender Policy Framework (SPF) y DMARC. Estas herramientas ayudan a verificar que un correo realmente proviene de quien dice ser, haciendo más difícil que los spammers envíen mensajes falsos.
Véase también
En inglés: Simple Mail Transfer Protocol Facts for Kids