Anda di halaman 1dari 4

Simple Mail Transfer Protocol

El Simple Mail Transfer Protocol (SMTP) (Protocolo para la transferencia simple de correo electrnico), es un protocolo de la capa de aplicacin. Protocolo de red basado en texto, utilizados para el intercambio de mensajes de correo electrnico entre computadoras u otros dispositivos (PDA, telfonos mviles, etc.). Est definido en el RFC 2821 y es un estndar oficial de Internet.

Historia
En 1982 se dise el primer sistema para intercambiar correos electrnicos en ARPANET, definido en los Request for comments RFC 821 y RFC 822. La primera de ellas define este protocolo y la + SMTP se basa en el modelo cliente-servidor, donde un cliente enva un mensaje a uno o varios receptores. La comunicacin entre el cliente y el servidor consiste enteramente en lneas de texto compuestas por caracteres ASCII. El tamao mximo permitido para estas lneas es de 1000 caracteres.2 Las respuestas del servidor constan de un cdigo numrico de tres dgitos, seguido de un texto explicativo. El nmero va dirigido a un procesado automtico de la respuesta por autmata, mientras que el texto permite que un humano interprete la respuesta. En el protocolo SMTP todas las rdenes, rplicas o datos son lneas de texto, delimitadas por el carcter <CRLF>. Todas las rplicas tienen un cdigo numrico al comienzo de la lnea.2 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 conexin.
Resumen simple del funcionamiento del protocolo SMTP

Cuando un cliente establece una conexin con el servidor SMTP, espera a que ste enve un mensaje 220 Service ready o 421 Service non available Se enva un HELO desde el cliente. Con ello el servidor se identifica. Esto puede usarse para comprobar si se conect con el servidor SMTP correcto. El cliente comienza la transaccin del correo con la orden MAIL FROM. Como argumento de esta orden se puede pasar la direccin de correo al que el servidor notificar cualquier fallo en el envo del correo (Por ejemplo, MAIL FROM:<fuente@host0>). Luego si el servidor comprueba que el origen es vlido, el servidor responde 250 OK. Ya le hemos dicho al servidor que queremos mandar un correo, ahora hay que comunicarle a quien. La orden para esto es RCPT TO:<destino@host>. Se pueden mandar tantas rdenes RCPT como destinatarios del correo queramos. Por cada destinatario, el servidor contestar 250 OK o bien 550 No such user here, si no encuentra al destinatario.

Una vez enviados todos los RCPT, el cliente enva una orden DATA para indicar que a continuacin se envan los contenidos del mensaje. El servidor responde 354 Start mail input, end with <CRLF>.<CRLF> Esto indica al cliente como ha de notificar el fin del mensaje. Ahora el cliente enva el cuerpo del mensaje, lnea a lnea. Una vez finalizado, se termina con un <CRLF>.<CRLF> (la ltima lnea ser un punto), a lo que el servidor contestar 250 OK, o un mensaje de error apropiado. Tras el envo, el cliente, si no tiene que enviar ms correos, con la orden QUIT corta la conexin. Tambin puede usar la orden TURN, con lo que el cliente pasa a ser el servidor, y el servidor se convierte en cliente. Finalmente, si tiene ms mensajes que enviar, repite el proceso hasta completarlos.

Puede que el servidor SMTP soporte las extensiones definidas en el RFC 1651, en este caso, la orden HELO puede ser sustituida por la orden EHLO, con lo que el servidor contestar con una lista de las extensiones admitidas. Si el servidor no soporta las extensiones, contestar con un mensaje "500 Syntax error, command unrecognized". En el ejemplo pueden verse las rdenes bsicas de SMTP:

HELO, para abrir una sesin con el servidor MAIL FROM, para indicar quien enva el mensaje RCPT TO, para indicar el destinatario del mensaje DATA, para indicar el comienzo del mensaje, ste finalizar cuando haya una lnea nicamente con un punto. QUIT, para cerrar la sesin RSET Aborta la transaccin en curso y borra todos los registros. SEND Inicia una transaccin en la cual el mensaje se entrega a una terminal. SOML El mensaje se entrega a un terminal o a un buzn. SAML El mensaje se entrega a un terminal y a un buzn. VRFY Solicita al servidor la verificacin del argumento. EXPN Solicita al servidor la confirmacin del argumento. HELP Permite solicitar informacin sobre un comando. NOOP Se emplea para reiniciar los temporizadores. TURN Solicita al servidor que intercambien los papeles.

De los tres dgitos del cdigo numrico, el primero indica la categora de la respuesta, estando definidas las siguientes categoras:

2XX, la operacin solicitada mediante el comando anterior ha sido concluida con xito 3XX, la orden ha sido aceptada, pero el servidor esta pendiente de que el cliente le enve nuevos datos para terminar la operacin 4XX, para una respuesta de error, pero se espera a que se repita la instruccin 5XX, para indicar una condicin de error permanente, por lo que no debe repetirse la orden

Una vez que el servidor recibe el mensaje finalizado con un punto puede 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.
Ejemplo de una comunicacin SMTP

En primer lugar se ha de establecer una conexin entre el emisor (cliente) y el receptor (servidor). Esto puede hacerse automticamente con un programa cliente de correo o mediante un cliente telnet. En el siguiente ejemplo se muestra una conexin tpica. Se nombra con la letra C al cliente y con S al servidor.
S: C: S: C: S: C: S: C: S: C: C: C: C: C: C: C: C: C: S: C: S: 220 Servidor ESMTP HELO miequipo.midominio.com 250 Hello, please to meet you MAIL FROM: <yo@midominio.com> 250 Ok RCPT TO: <destinatario@sudominio.com> 250 Ok DATA 354 End data with <CR><LF>.<CR><LF> Subject: Campo de asunto From: yo@midominio.com To: destinatario@sudominio.com Hola, Esto es una prueba. Hasta luego. . 250 Ok: queued as 12345 quit 221 Bye

Formato del mensaje

Como se muestra en el ejemplo anterior, el mensaje es enviado por el cliente despus de que ste manda la orden DATA al servidor. El mensaje est compuesto por dos partes:

Cabecera: en el ejemplo las tres primeras lneas del mensaje son la cabecera. En ellas se usan unas palabras clave para definir los campos del mensaje. Estos campos ayudan a los clientes de correo a organizarlos y mostrarlos. Los ms tpicos son subject (asunto), from (emisor) y to (receptor). stos dos ltimos campos no hay que confundirlos con las rdenes 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 bsico est compuesto nicamente por texto, y finalizado con una lnea en la que el nico carcter es un punto.

Seguridad y spam
Una de las limitaciones del SMTP original es que no facilita mtodos de autenticacin a los emisores, as que se defini la extensin SMTP-AUTH. A pesar de esto, el spam es an el mayor problema. No se cree que las extensiones sean una forma prctica para prevenirlo. Internet Mail 2000 es una de las propuestas para reemplazarlo.

Anda mungkin juga menyukai