240 likes | 507 Views
SMTP. SMTP . Simple Mail Transfer Protocol RFC 821 (1982) RFC 2821 (2001) RFC 5821 (2008) Puertos: 25 (TCP), 587 (TCP alternativo para clientes de correo, 465 (SMTP). Visión General.
E N D
SMTP • Simple Mail Transfer Protocol • RFC 821 (1982) • RFC 2821 (2001) • RFC 5821 (2008) • Puertos: 25 (TCP), 587 (TCP alternativo para clientes de correo, 465 (SMTP)
Visión General • En 1982 se diseñó el primer sistema para intercambiar correos electrónicos en ARPANET,(RFC 821 y RFC 822). 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. • A cada comando enviado por el cliente (validado por la cadena de caracteres ASCII CR/LF, que equivale a presionar la tecla Enter) le sigue una respuesta del servidor SMTP compuesta por un número y un mensaje descriptivo. • 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.
Comunicación • Cuando un cliente establece una conexión con el servidor SMTP, espera a que éste envíe un mensaje “220 Serviceready” o “421 Service non available” • Se envía un HELO desde el cliente. Con ello el servidor se identifica. Esto puede usarse para comprobar si se conectó con el servidor SMTP correcto. • MAIL FROM. Como argumento de esta orden se puede pasar la dirección de correo al que el servidor notificará cualquier fallo en el envío del correo (Por ejemplo, MAIL FROM:<fuente@host0>). Luego si el servidor comprueba que el origen es válido, el servidor responde “250 OK”. • 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 suchuserhere”, si no encuentra al destinatario.
Comunicación • Una vez enviados todos los RCPT, el cliente envía una orden DATA para indicar que a continuación se envían los contenidos del mensaje. El servidor responde “354 Start mail input, endwith <CRLF>.<CRLF>” Esto indica al cliente como ha de notificar el fin del mensaje. • El cuerpo del correo electrónico eventualmente contenga algunos de los siguientes encabezados: • Date (Fecha) • Subject (Asunto) • Cc • Bcc (Cco) • From (De)
Comunicación • Tras el envío, el cliente, si no tiene que enviar más correos, con la orden QUIT corta la conexión. También 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 más mensajes que enviar, repite el proceso hasta completarlo
Órdenes básicas • 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 buzón. • SAML El mensaje se entrega a un terminal y a un buzón. • 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 papeles.
Códigos Numéricos • 2XX, la operación 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 envíe nuevos datos para terminar la operación. • 4XX, para una respuesta de error, pero se espera a que se repita la instrucción. • 5XX, para indicar una condición de error permanente, por lo que no debe repetirse la orden
Ejemplo • S: 220 smtp.gmail.comSMTP Ready • C: EHLO machine1.gmail.com • S: 250 smtp.gmail.com • C: MAIL FROM:<webmaster@gmail.com> • S: 250 OK • C: RCPT TO:<arquitectura@yahoo.com> • S: 250 • C: RCPT TO:<clienserv@tittom.fr> • S: 550 No such user here • C: DATA • S: 354 Start mail input; end with <CRLF>.<CRLF> • C: Subject: Hola • C: Hola clase • C: ¿Que haciendo por acá? • C: Espero que saquemos 10 todos • C: <CRLF>.<CRLF> • S: 250 • C: QUIT R: 221 smtp.gmail.comclosing transmission
POP3 • El protocolo POP (Protocolo de oficina de correos), permite recoger el correo electrónico en un servidor remoto (servidor POP). Es necesario para las personas que no están permanentemente conectadas a Internet, ya que así pueden consultar sus correos electrónicos recibidos sin que ellos estén conectados. Es un protocolo de nivel de aplicación en el Modelo OSI.
Características • POP3 está diseñado para recibir correo, no para enviarlo; le permite a los usuarios con conexiones intermitentes o muy lentas (tales como las conexiones por módem), descargar su correo electrónico mientras tienen conexión y revisarlo posteriormente incluso estando desconectados. La mayoría de los clientes de correo electrónico soportan POP3 ó IMAP. • Este protocolo tiene asignado el puerto 110.
Características • El protocolo POP3 administra la autenticación utilizando el nombre de usuario y la contraseña. Sin embargo, esto no es seguro, ya que las contraseñas, al igual que los correos electrónicos, circulan por la red como texto sin codificar (de manera no cifrada). • Es posible cifrar la contraseña utilizando un algoritmo MD5. Sin embargo, debido a que esto es opcional, pocos servidores lo implementan. Además, el protocolo POP3 bloquea las bandejas de entrada durante el acceso, lo que significa que es imposible que dos usuarios accedan de manera simultánea a la misma bandeja de entrada.
El UIDL proporciona un mecanismo que evita los problemas de numeración. El servidor le asigna una cadena de caracteres única y permanente al mensaje. Cuando un cliente de correo compatible con POP3 se conecta al servidor utiliza la orden UIDL para obtener el mapeo del identificador de mensaje. De esta manera el cliente puede utilizar ese mapeo para determinar qué mensajes hay que descargar y cuáles hay que guardar al momento de la descarga. • En la actualidad POP3 cuenta con diversos métodos de autenticación, Uno de estos es APOP, el cual utiliza funciones MD5 para evitar los ataques de contraseñas. MozillaThunderbird implementa funciones APOP.
Internet Message Access Protocol • Es un protocolo de aplicación de acceso a mensajes electrónicos almacenados en un servidor
Familia: Protocolos de Internet Función: acceso a correo electrónico Puertos: 143/TCP 220/TCP (IMAP3) 993/TCP (IMAPS) Estándares: RFC 3501
IMAP fue diseñado como una moderna alternativa a POP por Mark Crispin en el año 1986. • En Stanford
Los clientes de correo electrónico son comúnmente denominados clientes POP o IMAP, pero en ambos casos se utiliza SMTP.
Referencias • http://es.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol • http://es.kioskea.net/contents/internet/smtp.php3 • http://es.kioskea.net/contents/internet/smtp.php3#el-protocolo-pop3 • https://es.wikipedia.org/wiki/Internet_Message_Access_Protocol