Protocolo SMTP (Simple Mail Transfer Protocol)
-
Upload
luis-alfredo-sanchez -
Category
Engineering
-
view
686 -
download
3
Embed Size (px)
description
Transcript of Protocolo SMTP (Simple Mail Transfer Protocol)

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

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

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.

¿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

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

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.

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

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

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

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

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

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

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

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

EJEMPLO BÁSICO

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