G05 SMTP Monografia

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

Alumnos

Greco Zubiarrain, Alejo 62024/0


Agostini Zubillaga, Marcial 55286/0
Riveiro Cicchini, Federico 60832/7

Protocolo SMTP:

SMTP (Simple Mail Transfer Protocol) es un protocolo orientado a conexión,


que se utiliza para envío de correo electrónico. Decir que sea orientado a
conexiones significa que la transferencia debe realizarse en línea, es decir existe
una conexión virtual entre el cliente y el servidor de correo. En cuanto a envío de
correo electrónico, se refiere a que solo realizará la transferencia del mismo, hasta
el servidor final, dejando para el protocolo POP3 la tarea de leer o recibir los
mensajes en el buzón de correo de dicho servidor.

Comunicación entre servidores:

Entre el cliente que emite el correo y el servidor final, pueden existir varios
servidores intermedios, estos servidores también se comunican utilizando SMTP.
En la comunicación entre dos servidores, habrá uno que se comporte como
cliente (el de origen), y el de destino será el que preste el servicio. SIguiendo esta
lógica en todos los puntos intermedios hasta llegar al servidor final.
El cliente hará uso del registro MX, provisto por los servidores DNS. Para
determinar a que servidor debe enviar el correo, el cliente realiza una petición al
DNS indicandole el dominio (lo que se indica seguido del @ en una dirección de
correo electrónico) del proveedor del servicio de correo. Hecho esto, el DNS
devuelve una lista de los nombres completos de dominio, y las direcciones IP de los
servidores de correo correspondientes a dicho dominio, ordenada de forma
prioritaria, lo que significa que se escogerá el servidor de menor número de
preferencia primero. Este número de preferencia se asigna de forma dinámica de
acuerdo a la cantidad de peticiones que se estén realizando a cada servidor. Esto
garantiza que las nuevas solicitudes se realizarán a los servidores menos ocupados.
A continuacion el cliente establece una conexión TPC, por defecto con el
puerto 25 a una de las direcciones IP proporcionadas por el registro MX, que se
corresponden con las direcciones IP del servidor.

Funcionamiento general de la comunicación


La comunicación se realiza por medio de una serie de órdenes y respuestas,
donde la iniciativa la lleva el emisor, que es el que estable la conexión TCP. Una vez
establecida la conexión el emisor enviará las órdenes a través de la misma que se
corresponderán con una respuesta por parte del servidor.
Dichas órdenes, así como el mensaje propiamente, estarán compuestos por
caracteres ASCII.
La operación básica de SMTP ocurre en tres etapas; establecimiento de
conexión, transferencia de información, y cierre de la conexión.

Formato del mensaje

Para entender el formato del mensaje introduciremos el concepto de “sobre” y


“contenido”. El cual es utilizado por dicho protocolo.
El sobre encapsula el mensaje y contiene toda la información necesaria para
transportarlo, como; dirección de destino, nivel de prioridad y seguridad, etc. Es
decir, todo lo que concierne al destinatario, como lo que se observa en el sobre de
una carta real.
El contenido del sobre, es decir el mensaje, tiene a su vez dos partes
separadas; encabezado y cuerpo. El encabezado contiene información de control y
manipulación para el programa de usuario en el cliente final o destino. Y el cuerpo
es el mensaje propiamente dicho.
Esta abstracción le permite al prestador del servicio de mail ignorar el
mensaje en sí, observando únicamente la información contenida en el sobre.

Comunicación y comandos

Como mencionamos antes, la comunicación se realiza en tres etapas:

Establecimiento de conexión​: El emisor establece la conexión TCP con un receptor


cuando tiene mensaje de correo para enviar a dicho destino. Los pasos son:

- El emisor abre conexión con el receptor


- Cuando se estableció la conexión, el receptor se identifica con -​220 service
ready-​
- El emisor se identifica a sí mismo con la orden -​HELO-​
- El receptor acepta la identificación del emisor, respondiendo -​250 ok​-

Luego de estos pasos se ha establecido la conexión, en el caso de que haya habido


algún error, el receptor puede responder con -​421 service not available-​
Transferencia de correo​: Hay tres fases lógicas asociadas a la transferencia de un
correo, que se corresponden generalmente con los siguientes tres comandos:

- Una orden ​mail​ que identifica al que originó el mensaje


- Una o más órdenes ​RCPT​ que identifican al o los destinos del mensaje
- Y una orden ​data​ que indica el cuerpo del mensaje.
Si se requieren varios destinos se utilizan múltiples órdenes RCTP, y si
alguno de estos destinos no está disponible, o hay algún error, el correo se enviará
a los destinos que se hayan aceptados correctamente.
Para el cuerpo del mensaje el receptor envía un -​354 start mail input-​ y a
partir de ahí el emisor escribe el mensaje, para finalizar el mensaje deberá ingresar
una línea que contenga solo un punto -.-. Si se ha recibido correctamente el
mensaje, el receptor responde -​250 ok-​ .

Cierre de conexión​: La misma se realiza en dos pasos, primero el emisor envía la


orden -​quit-​ y espera una respuesta, el segundo paso es cerrar la conexión TCP,
dicho paso lo realiza el receptor. Finalmente TCP enviará una respuesta al -​quit-​ al
emisor.

Comandos:

HELO, para abrir una sesión con el servidor


EHLO, para abrir una sesión, en el caso de que el servidor soporte
extensiones definidas en el RFC 1651
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 de todo un argumento.
EXPN Solicita al servidor la confirmación del argumento.
HELP Permite solicitar información sobre un comando.
NOOP No decir nada, se emplea para mantener la sesión abierta
TURN Solicita al servidor que intercambien los papeles.
De los tres dígitos del código numérico, el primero indica la categoría de la
respuesta, estando definidas las siguientes categorías:

2XX, la operación solicitada mediante el comando anterior ha sido concluida


con éxito
3XX, la orden ha sido aceptada, pero el servidor está 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 de una comunicación SMTP

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 SMTP


C: HELO miequipo.midominio.com
S: 250 Hello, please to meet you
C: MAIL FROM: <[email protected]>
S: 250 Ok
C: RCPT TO: <[email protected]>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: Campo de asunto
C: From: [email protected]
C: To: [email protected]
C:
C: Hola,
C: Esto es una prueba.
C: Hasta luego.
C:
C: .
C: <CR><LF>.<CR><LF>
S: 250 Ok: queued as 12345
C: quit
S: 221 Bye

También podría gustarte