15
EL CORREO ELECTRONICO Realizado por: Javier Carrión García Raquel Esquinas Chaparro Rafael García Maliga Sergio Luque Expósito Manuel Rodriguez Pozuelo

Correo electronico 2

  • Upload
    caoxman

  • View
    1.095

  • Download
    0

Embed Size (px)

Citation preview

EL CORREO ELECTRONICO

Realizado por: Javier Carrión García Raquel Esquinas ChaparroRafael García MaligaSergio Luque ExpósitoManuel Rodriguez Pozuelo

RFC 822.- El formato de los mensajes

El mensaje se divide en tres partes:

Encabezado.

Cuerpo del mensaje.

Archivos adjuntos.

Estructura básica del encabezado de un e-mail

Return-Path: <[email protected]>Received: from maquina1 (line129.varsur.net [192.168.73.129]by ns.compumedicina.net (8.9.3/8.9.3) with ESMTP id RAA20801for <[email protected]>; Tue, 29 Aug 2000 17:08:21 -0400From: "Jorge Gomez" <[email protected]>To: <[email protected]>Subject: ImportanteDate: Tue, 29 Aug 2000 18:08:21 -0300Message-ID: <[email protected]>MIME-Version: 1.0Content-Type: multipart/alternative;boundary="----=_NextPart_000_0000_01C011DF.871D08A0"X-Priority: 3X-MSMail-Priority: NormalX-Mailer: Microsoft Outlook Express 5.00.2919.6700X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700X-UIDL: 102a4a2c4e95ed6dd5ac92e9f6e1b072

Líneas importantes

• Return-Path: <[email protected]>Return-Path es la dirección del remitente. Esta dirección puede ser alterada para evitar detectar el verdadero remitente.

• Maquina1 es el nombre de la computadora desde la que se envió el mensaje, y (line129.varsur.net [192.168.73.129]) es el nombre y dirección IP del proveedor de Internet utilizado para enviar el mensaje.

• by ns.compumedicina.net es el nombre del servidor que recibió el mensaje para Ud., usualmente su proveedor de Internet

• for <[email protected]>; Tue, 29 Aug 2000 17:08:21 -0400 es la dirección del destinatario, más la fecha y hora en que fue enviado.

Las demás líneas se utilizan para las particularidades de los servidores y el software utilizado para redactar el mensaje.

Cuerpo del mensaje:

Es el mensaje en sí, tal como Ud. lo ve en su pantalla. Puede estar redactado en formato de texto plano ("Plain Text") y/o HTML.

Archivos Adjuntos:

Los programas de correo electrónico actuales tiene la posibilidad de adjuntar al texto del mensaje, un archivo, que normalmente se encuentra en el ordenador. Este archivo puede ser de cualquier tipo.

En este apartado hay que tener cuidado con los mensajes de desconocidos, ya que pueden ser spam virus, etc

El SMTPBreve Historia:

En 1982 se diseñó el primer sistema para intercambiar correos electrónicos en ARPANET, definido en los Request for comments RFC 821 y RFC 822. La primera de ellas define este protocolo y la segunda el formato del mensaje que este protocolo debía transportar.

Significado del protocolo SMTP:

Este protocolo proporciona la funcionalidad necesaria para conseguir una transferencia fiable y eficiente de mensajes de correo entre ordenadores que actúan como oficina de correos. Siguiendo las ideas del correo postal.

El modelo del SMTP:

Desde el punto de vista del modelo, el SMTP debe proporcionar los elementos necesarios para la transferencia de mensajes. Por ello, se definen los elementos siguientes:

• Agente de usuario: se encarga de introducir los mensajes en el sistema de correo SMTP.

• Emisor SMTP: se ocupa de realizar las conexiones y de enviar mensajes a receptores SMTP a partir de peticiones de los usuarios.

• Receptor SMTP: se encarga de recibir los mensajes.

Para que el protocolo SMTP sea capaz de:

Entregar un mensaje, se precisa un mecanismo que permita definir direcciones para los buzones de los usuarios.

Dirección = usuario@dominioDominio = subdominio*(.subdominio)

El mensaje se envía al sistema identificado por el nombre de dominio que se encuentra en la dirección a la derecha del signo @ (es decir, dominio).Una vez en el sistema, el mensaje se entrega al buzón del usuario identificado en la dirección a la izquierda del signo @ (es decir, usuario).

Funcionalidad básica del SMTP:

Para que el mensaje se envíe y se reciba correctamente hace falta varios comandos:

• Una vez conectado, el emisor SMTP se identifica ante el receptor SMTP con el comando HELO.

• Cuando se quiere iniciar el envío de un mensaje de correo, se utiliza el comando MAIL.

• Con el comando RCPT se identifican los receptores del mensaje. Se debe utilizar uno para cada receptor.

• El comando DATA indica el inicio del envío del cuerpo del mensaje. Las líneas siguientes a este comando se tratan como contenido del mensaje.

• Los datos que se envían dentro de este campo son mensajes RFC 822, por lo que pueden incluir campos de cabecera en el inicio.

• Una vez iniciada la transacción de envío de mensaje, y antes de acabar, el emisor SMTP siempre puede interrumpirla por medio del comando RSET.

• El comando NOOP sirve para que el receptor SMTP envíe una respuesta afirmativa para informar de que la conexión todavía está abierta.

• Para cerrar el canal de transmisión, el SMTP proporciona el comando QUIT.

Servicios POP3

¿Qué es y para que sirve?

• Post Office Protocol (POP3, Protocolo de oficina de correo) fue diseñado por la necesidad de recuperar correo electrónico de forma remota, ya que el sistema SMTP no es práctico en el uso de sistemas pequeños.

• Este protocolo requiere que el servidor de correo disponga de él y conectado en todo momento para poder ofrecer el servicio tanto de recepción de peticiones de acceso al buzón como para recibir correo. Sin embargo los clientes que usen este servicio solo necesitan conectarse cuando requieran acceder a su buzón.

¿Cómo funciona?

El protocolo POP3 funciona con la suma de dos partes, el cliente y el servidor.

El cliente hace una petición al servidor POP3 y este le presta el servicio, proporcionándole acceso a su buzón de correo. Todo este proceso se hace mediante una serie de comandos para el manejo de buzones:

– USER (nombre) Para la identificación del cliente.– PASS (contraseña) Envía la clave al servidor.– STAT (estado) Da el número de mensajes no borrados en el buzón y su longitud total.– LIST (listado) Muestra todo los mensajes no borrados con su longitud.– RETR (recuperación de mensajes) Solicita el envío del mensaje especificando el número.– TOP (Recuperación de la parte superior del mensaje) Muestra la cabecera y el número de

líneas requerido del mensaje especificando el número.– DELE (borrado de mensajes) Borra el mensaje especificando el número.– NOOP (operación nula) Indica si la conexión al servidor está abierta.– RSET (desmarcado de mensajes para borrar) Recupera los mensajes borrados (en la conexión

actual).– UIDL (lista de identificadores únicos) Devuelve una cadena identificatoria del mensaje

persistente a través de las sesiones. Si no se especifica “número” se devuelve una lista con los números de mensajes y su cadena identificatoria de los mensajes no borrados.

– QUIT (paso al estado de actualización) Salir.

IMAP4

El IMAP4 es un protocolo que permite acceder al correo electrónico de un servidor y manipularlos.

Se basa en:

Agente de Usuario

Cliente IMAP4

Servidor IMAP4

Características:

El protocolo IMAP4, permite accesos de forma simultánea a diversos clientes.

Los correos electrónicos se transmiten por formato MIME.

Estados:

Podemos hablar de cuatro estados definidos:

Estado no Autenticado Estado Autenticado Estado Seleccionado Estado Logout

Funciones:

Podemos encontrar funciones generales para todos los estados o podemos encontrar funciones específicas de cada estado.

Funciones Generales:

Petición de Capacidades Operación Nula Finalización de Conexión

Funciones de Estado no Autenticado:

Indicador de Autenticación Indicación de Usuario

Funciones de Estado Autenticado:

Selección de Buzón Estado de Buzón Añado de un Mensaje al Buzón

Funciones de Estado Seleccionado:

Control del Buzón Cierre del Buzón Eliminación de Mensajes Recuperación de Mensajes Copia de Mensajes

He aquí un ejemplo mínimo que abre un apartado y recupera e imprime todos los mensajes:import getpass, imaplib, string.

M = imaplib.IMAP4()M.login(getpass.getuser(), getpass.getpass())M.select()typ, data = M.search(None, 'ALL')for num in string.split(data[0]):

typ, data = M.fetch(num, '(RFC822)')print 'Mensaje %s\n%s\n' % (num, data[0][1])

M.logout()

El formato MIME

MIME: Es una serie de convenciones o especificaciones dirigidas al intercambio a través de Internet de todo tipo de archivos (texto, audio, vídeo, etc.) de forma transparente para el usuario.

Las extensiones de MIME van encaminadas a soportar:

Texto en conjuntos de caracteres distintos de US-ASCII;

Adjuntos que no son de tipo texto;

Cuerpos de mensajes con múltiples partes (multi-part);

Información de encabezados con conjuntos de caracteres distintos de ASCII.

Cabeceras

CabecerasPara permitir todas las nuevas extensiones, el MIME define nuevos campos de cabecera: MIME-Version, Content-Type, Content-Transfer-Encoding, Content-ID y Content-Description.

MIME-Version: Este valor indica que el mensaje usa formato MIME. Indica el valor de MIME que usa.MIME-Version: 1.0

Content-Type: Indica el tipo de contenido del mensaje, en el que engloba un tipo general y un subtipo. Por ejemplo un mensaje de tipo “Text” puede ser de subtipo “Plain” o “enriched”. También existen los tipos “image”, “audio”, “video”, “application”, “multipart” y “message”; cada uno con sus subtipos específicos.

Content-Type: text/enriched Content-Transfer-Encoding: Sirve para especificar el tipo de codificación para que el receptor

pueda descodificarlo. Ésta puede ser 7bit, 8bit, binary, quoted-printable o base64:Content-Transfer-Encoding: 8bit

Content-ID: Proporciona un identificador único al contenido del mensaje.Content-ID: id-msg

Content-Description: proporciona información descriptiva del contenido en forma de texto:Content-Description: descripción