SMTP
Keywords: SMTP, 1982, ARPANET, Cliente-servidor, Computadora, Correo electrónico, DNS, Dominio de Internet, IMAP
Simple Mail Transfer Protocol (SMTP), o protocolo simple de transferencia de correo electrónico. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras y/o distintos dispositivos (PDA's, Celulares, etc).
| Tabla de contenidos |
Historia
En 1982 se diseño el primer sistema para intercambiar correos electrónicos para ARPANET, definido en dos Request for comments: RFC 821 y RFC 822. La primera de ellas define el protocolo y la segunda el formato del mensaje.
Con el tiempo se ha convertido en uno de los protocolos más usados en internet. Para adaptarse a las nuevas necesidades surgidas del crecimiento y popularidad de internet se han hecho varias ampliaciones a este protocolo, como poder enviar texto con formato o archivos adjuntos.
==Funcionamiento==SMTP se basa en el modelo cliente-servidor, donde un cliente envía un mensaje a uno o varios receptores.
En el conjunto de protocolos TCP/IP, el SMTP va por encima del TCP, usando normalmente el puerto 25 en el servidor para establecer la conexión.
Ejemplo de una comunicación SMTP
En primer lugar se ha de establecer una conexión entre el emisor (cliente) y el receptor (servidor). Esto puede hacerse automáticamente con un programa cliente de correo o mediante un cliente telnet.
En el siguiente ejemplo se muestra una conexión típica. Se nombre con la letra C al cliente y con S al servidor.
S: 220 Servidor ESMTP C: HELO S: 250 Hello, please meet you C: MAIL FROM: yo@midominio.com S: 250 Ok C: RCPT TO: destinatario@sudominio.com S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: Campo de asunto C: From: yo@midominio.com C: To: destinatario@sudominio.com C: C: Hola, C: Esto es una prueba. C: Adios. C: . S: 250 Ok: queued as 12345 C: quit S: 221 Bye
En el ejemplo pueden verse los comandos básicos de SMTP:
- HELO, para abrir una sesión con el servidor
- MAIL FROM, para indicar quien envía el mensaje
- RCPT TO, para indicar el destinatario del mensaje
- DATA, para indicar el comienzo del mensaje, éste finalizará cuando haya una linea únicamente con un punto.
- QUIT, para cerrar la sesión
Las respuestas que da el servidor pueden ser de varias clases:
- 2XX, para una respuesta afirmativa
- 3XX, para una respuesta temporal afirmativa
- 4XX, para una respuesta de error, pero se espera a que se repita la instrucción
- 5XX, para una respuesta de error
Una vez que el servidor recibe el mensaje finalizado con un punto puede bien almacenarlo si es para un destinatario que pertenece a su dominio, o bien retransmitirlo a otro servidor para que finalmente llegue a un servidor del dominio del receptor.
Formato del mensaje
Como se muestra en el ejemplo anterior, en mensaje es enviado por el cliente después de que éste mande el comando DATA al servidor. El mensaje está compuesto por dos partes:
- Cabecera: en el ejemplo las tres primeras líneas del mensaje son la cabecera. En ellas se usan unas palabras clave para definir los campos del mensaje. Éstos campos ayudan a los clientes de correo a organizarlos y mostralos. Los más típicos son subject (asunto), from (emisor) y to (receptor). Éstos dos últimos campos no hay que confundirlos con los comandos MAIL FROM y RCPT TO, que pertenecen al protocolo, pero no al formato del mensaje.
- Cuerpo del mensaje: es el mensaje propiamente dicho. En el SMTP básico está compuesto únicamente por texto, y finalizado con una línea en la que el único caracter es un punto.
Seguridad y SPAM
Una de las limitaciones del SMTP original es que no facilita métodos de autentificación a los emisores, así que se definió la extensión SMTP-AUTH.
A pesar de esto, el SPAM es aún el mayor problema. No se cree que las extensiones sean una forma práctica para prevenirlo. Internet Mail 2000 es una de las propuestas para reemplazarlo.
