Protocolo SMTP (Simple Mail Transfer Protocol)

16
PROTOCOLO SMTP Simple Mail Transfer Protocol Escuela Superior de Cómputo - IPN

description

Resumen del protocolo SMTP (Simple Mail Transfer Protocol)

Transcript of Protocolo SMTP (Simple Mail Transfer Protocol)

Page 1: Protocolo  SMTP (Simple Mail Transfer Protocol)

PROTOCOLO SMTPSimple Mail Transfer ProtocolEscuela Superior de Cómputo - IPN

Page 2: Protocolo  SMTP (Simple Mail Transfer Protocol)

PROTOCOLOS PARA CORREO ELECTRÓNICO

El correo electrónico (E-mail) es probablemente la aplicación TCP/IP más usada.

Proporcionan intercambio de correo y mensajes entre hosts TCP/IP

Page 3: Protocolo  SMTP (Simple Mail Transfer Protocol)

HISTORIA

Se han realizado modificaciones y ampliaciones en el estándar para adaptarse a las nuevas necesidades surgidas por el crecimiento y necesidades de Internet.

Año 2001: RFC-2821

Año 2008: RFC-5321

Algunas de estas ampliaciones contemplan el envío de texto con formato vía correo electrónico.

Page 4: Protocolo  SMTP (Simple Mail Transfer Protocol)

¿Qué es SMTP?

Es un protocolo de red basado en texto utilizado para el intercambio de mensajes de correo electrónico entre computadoras o distintos dispositivos (Celulares, tabletas, etc.).

Es un protocolo que funciona en línea, encapsulado en una trama.

SMTP está basado en la entrega punto-a-punto

Page 5: Protocolo  SMTP (Simple Mail Transfer Protocol)

CARACTERÍSTICAS DE SMTP

Simple Mail Transfer Protocol (SMTP)

Familia Familia de protocolos de internet

AF_INET

Función Envio de mensajes de correo electrónico

Puertos

25 TCP

587 TCP (Alternativo para clientes de

correo)

465 TCP (SMTPS)

Ubicación en la pila de protocolos

Aplicación SMTP

Transporte TCP

Red IP(IPv4, IPv6)

Estándares RFC-821 1982

RFC-2821 2001

RFC-5321 2008

EL RFC-821 establece que los datos enviados por SMTP son ASCII de 7-bis, con el bit de orden superior a cero.

Esto es adecuado para mensajes en inglés, pero no para otros lenguajes o datos que no sean texto

Page 6: Protocolo  SMTP (Simple Mail Transfer Protocol)

MENSAJES SMTP Estructur

a

CABECERA• El usuario no tiene por qué preocuparse

de la cabecera, que es responsabilidad de SMTP.

• El RFC- 822 contiene un análisis completo de la cabecera. 

• La cabecera termina con una línea nula(una línea con sólo la secuencia <CRLF>).

CUERPO• Aquí se especifican:• TO: Receptores primarios del

mensaje• CC: Receptores secundarios

del mensaje• FROM: Identidad del emisor• REPLY-TO: El buzón al que se han de

enviar las respuestas (Campo añadido por el emisor del mensaje)

• RETURN-PATH: Dirección y ruta hasta el emisor. Lo añade el sistema de transporte final que entrega el correo.

• SUBJECT: Resumen del mensaje. Suele proporcionarlo el usuario.

Page 7: Protocolo  SMTP (Simple Mail Transfer Protocol)

FUNCIONAMIENTO

Cliente A

Cliente B

Cliente C

Servidor B

Servidor A

Servidor BComand

osSMTP

Comandos

SMTP

Comandos

SMTP

ETAPAS

1 Establecer la Conexión

2 Transferencia de Correo

3 Cierre de la Conexión

Page 8: Protocolo  SMTP (Simple Mail Transfer Protocol)

ETAPA 1 El cliente SMTP abre una conexión TCP con el Servidor SMTP

Una vez establecida la conexión, el receptor se identifica a sí mismo con la respuesta “220 Service Ready”. Que indica que el servicio esta preparado.

Después el cliente se identifica a si mismo con el comando “HELO”

Por ultimo el servidor acepta la identificación del Cliente con la respuesta “250 OK”. Que indica que la acción de correo solicitada es correcta.

COMANDOS UTILIZADOS

• HELO (Cliente): Identifica el remitente del destinatario

RESPUESTAS SMTP

• 220(Servidor): Servicio preparado.

• 250(Servidor): Solicitud Completada con éxito

Establecer la conexión

Page 9: Protocolo  SMTP (Simple Mail Transfer Protocol)

ETAPA 2COMANDOS UTILIZADOS

• MAIL FROM: Identifica una transacción de correo y al emisor.

• RCPT TO : Se usa para identificar un destinatario individual.

• DATA: Permite enviar líneas de texto.

RESPUESTAS SMTP

• 220: Servicio preparado.

• 354: Introduzca el texto.

El cliente envía el comando “MAIL FROM” al servidor . Este comando proporciona un camino inverso que puede utilizarse para informe de errores.

Si acepta envía la respuesta “220 Service Ready”.

Una o mas ordenes “RCPT TO” Identifican los destinos de este mensaje. Usando “RCPT” se pueden usar destinos múltiples.

Transferencia de correo

El cliente envía el comando “DATA” al servidor . Esta orden informa al servidor que se empezara a escribir un mensaje de texto.

En respuesta el servidor envía la orden “354 Start email input”. Para finalizar se utiliza <CLRF>.<CLRF> (Esto es un Enter)

Si acepta envía la respuesta “220 Service Ready”.

Page 10: Protocolo  SMTP (Simple Mail Transfer Protocol)

ETAPA 3

COMANDOS UTILIZADOS

• QUIT: Pide al otro extremo que envíe una respuesta positiva y cierre la conexión.

RESPUESTAS SMTP

• 221: Servicio cerrando el canal de transmisión

Cierre de la Conexión

El cliente envía el comando “QUIT” al servidor y espera una respuesta.

Si el servidor acepta el comando anterior envía la respuesta “221 Service closing transmission channel”.

Page 11: Protocolo  SMTP (Simple Mail Transfer Protocol)

COMANDOSSMTP

COMANDO Descripción Ejemplo

HELO Identifica el remitente al destinatario HELO 193.56.47.125

MAIL FROM Identifica una transacción de correo e identifica al emisor

MAIL FROM: [email protected]

RCPT TO

Se utiliza para identificar un destinatario individual. Si se necesita identificar multiples destinatarios es necesario repetir el comando.

RCPT TO: [email protected]

DATA

Permite enviar una serie de líneas de texto. El tamaño máximo de un alinea es de 100 caracteres. Cada línea va seguida de un retorno de carro y avance de línea <CLRF>. La ultima línea debe llevar únicamente el carácter punto ‘.’ seguido de <CLRF>

DATAS: From: Alex B. Carver <[email protected]> S: Subject: Important meeting S: To: <[email protected]> S: To: <[email protected]> S: cc: <[email protected]> S:S: Blah blah blah S: etc.....S: . <CLRF>

RSET Aborta la transacción de correo actual

NOOP No operación. Inidca al extremo que en envie una respuesta positiva.

VRFYPide al receptor que confirme que un nombre identifica a un destinatario valido

RESUMEN

Page 12: Protocolo  SMTP (Simple Mail Transfer Protocol)

COMANDO

Descripción

EXPN Pide al receptor la confirmación de una lista de correo y que devuelva los nombres de los usuarios de dicha lista

HELP Pide al otro extremo información sobre lo socmandos disponibles

TURN El emisor pide que se inviertan los papeles, para poder actuar como receptor. El receptor puede negarse a dicha petición.

SOML Si el destinatario esta conectado, entrega el mensaje directamenteal terminal, en caso contrario lo entrega como correo convencional

SAML Entrega el mensaje en el buzon del destinatario. En caso de estar conectado también lo hace al terminal

SEND Si el destinatario esta conectado, entrega el mensaje directamente al terminal

RESUMEN

COMANDOSSMTP

Page 13: Protocolo  SMTP (Simple Mail Transfer Protocol)

CÓDIGO

Descripción

200 (Respuesta no-standard success response, ver rfc876)

211 System status, or system help reply (estado del sistema)

214 Mensaje de Ayuda

220 Servicio Listo

221 Service closing transmission channel

250 Requested mail action okay, completed

251 User not local; will forward to

354 Start mail input; end with .

421 Service not available, closing transmission channel

450 Requested mail action not taken: mailbox unavailable

451 Requested action aborted: local error in processing

452 Requested action not taken: insufficient system storage

RESPUESTAS

SMTP

Page 14: Protocolo  SMTP (Simple Mail Transfer Protocol)

CÓDIGO

Descripción

500 Syntax error, command unrecognised

501 Syntax error in parameters or arguments

502 Command not implemented

503 Bad sequence of commands

504 Command parameter not implemented

521 does not accept mail (see rfc1846)

530 Access denied (???a Sendmailism)

550 Requested action not taken: mailbox unavailable

551 User not local; please try

552 Requested mail action aborted: exceeded storage allocation

553 Requested action not taken: mailbox name not allowed

554 Transaction failed

RESPUESTAS

SMTP

Page 15: Protocolo  SMTP (Simple Mail Transfer Protocol)

EJEMPLO BÁSICO

Page 16: Protocolo  SMTP (Simple Mail Transfer Protocol)

GRACIAS POR SU ATENCIÓNLuis Alfredo Sánchez Angeles

Eloy Daniel Marrón Castillo

Enrique Hernández Jiménez

Referencias

Una descripción detallada de los estándares SMTP, MAIL y DNS-MX se puede hallar en los siguientes RFCs:•RFC 821 - SMTP("Simple Mail Transfer Protocol")•RFC 822 - estándar para el formato de los mensajes de texto para la red ARPA•RFC 974 - Encaminamiento de correo y el DNS•RFC 1049 - Un campo "Content Type" para la cabecera de los mensajes de Internet