SMTP. Simple Mail Transfer Protocol RFC 821 (1982) RFC 2821 (2001) RFC 5821 (2008) Puertos: 25...

23
SMTP

Transcript of SMTP. Simple Mail Transfer Protocol RFC 821 (1982) RFC 2821 (2001) RFC 5821 (2008) Puertos: 25...

Page 1: 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

Page 2: 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

• 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)

Page 3: 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.

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.

Page 4: 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.

Comunicación

• Cuando un cliente establece una conexión con el servidor SMTP, espera a que éste envíe un mensaje “220 Service ready” 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 such user here”, si no encuentra al destinatario.

Page 5: 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.

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, end with <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)

Page 6: 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.

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

Page 7: 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.

Ó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.

Page 8: 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.

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

Page 9: 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.

Ejemplo• S: 220 smtp.gmail.com SMTP Ready • C: EHLO machine1.gmail.com• S: 250 smtp.gmail.com• C: MAIL FROM:<[email protected]> • S: 250 OK • C: RCPT TO:<[email protected]> • S: 250 • C: RCPT TO:<[email protected]> • 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.com closing transmission

Page 10: 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.
Page 11: 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.
Page 12: 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.

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.

Page 13: 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.

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.

Page 14: 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.

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. 

Page 15: 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.

• 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. Mozilla Thunderbird implementa funciones APOP.

Page 16: 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.

Comando Descripción

USER identification Este comando permite la autenticación. Debe estar seguido del nombre de usuario, una cadena de caracteres que identifique al usuario en el servidor.

PASS password El comando PASS permite especificar la contraseña del usuario

STAT Información acerca de los mensajes del servidor

RETR Número del mensaje que se va a recoger

DELE Número del mensaje que se va a eliminar

LIST [msg] Número del mensaje que se va a mostrar

NOOP Permite mantener la conexión abierta en caso de inactividad

TOP <messageID> <n> Comando que muestra n líneas del mensaje, cuyo número se da en el argumento.

UIDL [msg]Solicitud al servidor para que envíe una línea que contenga información sobre el mensaje que eventualmente se dará en el argumento.

QUIT El comando QUIT solicita la salida del servidor POP3.

Page 17: 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.

Internet Message Access Protocol

IMAP

Page 18: 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.

Internet Message Access Protocol

• Es un protocolo de aplicación de acceso a mensajes electrónicos almacenados en un servidor

Page 19: 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.

Familia: Protocolos de Internet

Función: acceso a correo electrónico

Puertos: 143/TCP 220/TCP (IMAP3) 993/TCP (IMAPS)

Estándares: RFC 3501

Page 20: 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.

• IMAP fue diseñado como una moderna alternativa a POP por Mark Crispin en el año 1986.

• En Stanford

Page 21: 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.

• Los clientes de correo electrónico son comúnmente denominados clientes POP o IMAP, pero en ambos casos se utiliza SMTP.

Page 22: 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.