SMTP

Simple Mail Transfer Protocol (SMTP)
Información sobre la plantilla
Parte de la familia Protocolos de internet
421 × 317 píxeles
SMTP, protocolo de envíos de correos
CreadorJonathan B. Postel
Lanzamiento inicialAgosto de 1982


SMTP (Simple Mail Transfer Protocol). Protocolo Simple de Transferencia de Correo, es un protocolo de la Capa de aplicación. Protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre Computadoras u otros dispositivos (PDA's, Teléfonos móviles, etc.). Está definido en el RFC 2821 y es un estándar oficial de Internet.

Historia

Forma parte de la mensajería electrónica que fueron utilizados en los años 60. Como más computadoras comenzaron a ser interconectadas con otras, especialmente en el gobierno de los Estados Unidos ARPANET, los estándares fueron desarrollados para permitir a usuarios que usaban diversos sistemas para poder utilizar el email uno con otro. El smtp creció fuera de estos estándares desarrollados durante los años 70.

El smtp puede remontar sus raíces al protocolo de la caja (ca. 1971), correo del ftp (ca. 1973), y protocolo del correo. El trabajo continuó a través de los años 70, hasta ARPANET convertirlo en el moderno Internet alrededor 1980. Jon Postel entonces propuso a Protocolo de la transferencia del correo en el año 80 que comenzó a quitar la confianza del correo encendido Ftp. El smtp fue publicado como RFC 821 en agosto de 1982, también por Jonathan Postel.

El estándar del smtp fue desarrollado alrededor del mismo tiempo USENET eran, de uno a varias redes de comunicaciones con algunas semejanzas.

El smtp llegó a ser ampliamente utilizado a mediados de los años 80. Cuando, era un complemento a UUCP (Unix al copy del Unix) correo, que fue satisfecho mejor para manejar transferencias del E-mail entre las máquinas que fueron conectadas intermitentemente. El smtp, por otra parte, trabaja lo más mejor posible cuando las máquinas que envían y de recepciones están conectadas con la red toda la hora. Ambos utilizan a el almacén y remite el mecanismo y es ejemplos de empuje la tecnología.

Funcionamiento

SMTP se basa en el modelo cliente-servidor, donde un cliente envía un mensaje a uno o varios receptores. La comunicación entre el cliente y el servidor consiste enteramente en líneas de texto compuestas por caracteres ASCII. El tamaño máximo permitido para estas líneas es de 1000 caracteres.

Las respuestas del servidor constan de un código numérico de tres digitos, seguido de un texto explicativo. El número va dirigido a un procesado automático de la respuesta por autómata, mientras que el texto permite que un humano interprete la respuesta. En el protocolo SMTP todas las órdenes, réplicas o datos son líneas de texto, delimitadas por el carácter <CRLF>. Todas las réplicas tienen un código numérico al comienzo de la línea.

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.

Ordenes básicas del 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 línea únicamente con un punto.
  • QUIT, para cerrar la sesión
  • RSET Aborta la transacción en curso y borra todos los registros.
  • SEND Inicia una transacción en la cual el mensaje se entrega a una terminal.
  • SOML El mensaje se entrega a un terminal o a un buzon.
  • SAML El mensaje se entrega a un terminal y a un buzon.
  • VRFY Solicita al servidor la verificación del argumento.
  • EXPN Solicita al servidor la confirmación del argumento.
  • HELP Permite solicitar información sobre un comando.
  • NOOP Se emplea para reiniciar los temporizadores.
  • TURN Solicita al servidor que intercambien los paquetes.

Ejemplo de una comunicación

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 nombra con la letra C al cliente y con S al servidor.

S: 220 Servidor ESMTP C: HELO miequipo.midominio.com S: 250 Hello, please meet you C: MAIL FROM: S: 250 Ok C: RCPT TO: S: 250 Ok C: DATA S: 354 End data with <CR><LF>.<CR><LF> C: Subject: Campo de asunto C: From: C: To: C: C: Hola, C: Esto es una prueba. C: Adiós. C: C: . S: 250 Ok: queued as 12345 C: quit S: 221 Bye

Especificaciones

Ejemplo de transferencia de mensajes SMTP :

Las líneas precedidas de <<"C:">> corresponden a comandos emitidos por el cliente y las que comienzan con <<"S:">> son las consiguientes respuestas que devuelve el servidor. S: <en espera de conexión TCP en el puerto 25> c: <abre la conexión con el servidor> s:220 beta.gov Simple Mail Transfer Service ready c:HELO s:250 beta.gov c:MAIL from : s:250 OK c:RCPT TO: s:250 OK c:RCPT TO: s:550 No such user here c:DATA s:354 Inicio de la entrada del mail; finaliza con <CRLF>.<CRLF> c:.... se envía el contenido del mensaje (cabecera y cuerpo)... c:<CRLF>.<CRLF> s:250 OK c:QUIT s:221 beta.gov Service closing transmition channel

Conexión al inicio del protocolo

Cuando se emplea el protocolo TCP el servidor SMTP escucha permanentemente al puerto 25, en espera de algún cliente que desea enviarlo. El protocolo de aplicación SMTP inicia el comando HELO, seguido de la identificación del cliente, el servidor lo acepta con un código <<250 OK>>.

Envío de mensajes

Una vez iniciado el protocolo, se realiza el envío de mensajes desde el cliente al servidor, mediante el siguiente proceso.

Envío del sobre

En primer lugar se transmite la dirección del buzón del origen del mensaje, el comando es el MAIL FROM y si el servidor acepta envía el mensaje 250 OK. Luego se transmite la dirección de destino, mediante el comando RCPT TO y el servidor confirma con 250 OK, pero si el destinatario no existe se envía 550 Failure.

Envío del contenido del mensaje

El cliente informa al servidor de que va a enviar el mensaje mediante el comando DATA, si el servidor está dispuesto envía 354, todas las líneas que el cliente envía a partir de este momento se consideran parte del contenido del mensaje, al final del mensaje se considera enviando el <<.>>, cuando el servidor recibe el fin del mensaje confirma con 250 OK,

Cierre de la conexión

Una vez enviado todos los mensajes, el cliente puede cerrar la conexión mediante el comando QUIT, caso contrario la máquina que recibió los mensajes sea quien las envíe con el comando TURN, el servidor confirma con 250 OK, dando una sección que se inicia con el comando HELO.

Véase también

Enlaces Externos

Fuentes