Internet Message Access Protocol Version 4 (RFC3501) - UTN

Anuncio
IMAP4
Internet Message Access
Protocol Version 4 (RFC3501)
Ing. Agustín Eijo <[email protected]>
Universidad Tecnológica Nacional, Facultad Regional La Plata
Características

Operación en línea y fuera de línea

Conexión de múltiples clientes simultáneos

Acceso a partes MIME de los mensajes y obtención parcial

La información de estado del mensaje se mantiene en el
Servidor

Accesos a múltiples buzones de correo en el servidor

Búsquedas en el servidor
Modo de Operación

El servidor escucha en el puerto TCP 143 o 993 (SSL).

El cliente establece una conexión con el servidor.

El servidor envía un saludo.

El cliente y el servidor intercambian comandos y
respuestas (respectivamente).

La conexión se cierra o se aborta.
Máquina de estados
Comandos

Identificador: llamado “Tag”

Palabras clave: (case insensitive)

Posiblemente seguidas de un argumento

Todos los comandos terminan con CRLF

El Identificador, las palabras clave y los
argumentos se separan con un espacio

Ejemplo:
C: A001 LOGIN juan clave
S: A001 OK User logged in
Comandos: estado No Autenticado:

AUTHENTICATE mechanism:
Este comando requiere del Servidor un mecanismo de
autenticación especial especificado por “mechanism”.
Ejemplo: Kerberos_v4, GSSAPI, SKEY.

LOGIN user pass:
Este comando envia el nombre de usuario y la contraseña en
texto plano.

STARTTLS:
Inicia una negociación TLS (Transport Layer Security).
Comandos: hacia seleccionado

SELECT Nombre: Selecciona el mailbox

EXAMINE Nombre: Selecciona el mailbox en modo lectura.

CREATE Nombre: Crea el mailbox

DELETE Nombre: Borra el mailbox

RENAME Origen Destino: Mueve o renombra el mailbox

SUBSCRIBE Nombre: Agrega el mailbox a una lista de suscripción.

UNSUBSCRIBE Nombre: Quita el mailbox a una lista de suscripción.

LIST Nombre Mailbox: Devuelve la lista con todos los mensajes que
contengan la cadena “Nombre” de Mailbox.

LSUB Nombre: Devuelve todos los mailbox que estan subscriptos a Nombre

STATUS Nombre Item: Devuelve el estado del Item del mailbox Nombre

APPEND Mailbox Mensaje: Añade un nuevo Mensaje al Mailbox
Comandos: Estado Seleccionado

CHECK: Solicita un control sobre el Mailbox actual.

CLOSE: Cierra el Mailbox seleccionado, se borran los correos que hayan sido
marcados previamente y vuelve al Estado AUTHENTICATE)

UNSELECT: Cierra el Mailbox seleccionado.

EXPUNGE: Se borra los correos que hayan sido marcados.

SEARCH criterio: Busca en el Mailbox los mensajes que coincidan con criterio.

FETCH Item Mensaje: Devuelve un ítem especifico asociado con un mensaje.

STORE Item Mensaje: Almacena un ítem específico a un mensaje.

COPY Mensaje Mailbox: Copia el mensaje al final del mailbox.

UID Nombre Argumento: Devuelve el identificador único del mensaje.
Respuestas:

De estado

Datos del Servidor

Continuación de Comandos/Respuestas
Respuestas de Estado

OK : Indica que el comando del cliente se completó con éxito.

NO: Esta respuesta indica un error de operación en el Servidor.

Bad: Esta respuesta provee un mensaje de error del servidor.

Preauth: Esta es uno de los tres posibles saludos enviados cuando
la conexión se inicia (OK, Preauth, BYE).

BYE: Esta respuesta indica que el Servidor se esta preparando para
cerrar la conexión (puede ser una secuencia normal, un cierre
abrupto o por inactividad).
Respuestas de Datos del Servidor

Estas respuestas son mensajes no solicitados enviados desde el
Servidor al Cliente.

El cliente siempre debe estar listo para aceptar respuestas de datos
del servidor.

Las respuestas de datos del servidor indican o informan temas tales
como:



La recepción de un nuevo mail.
Un cambio de estado para un mailbox o un mensaje
Cualquier otro tipo de información que necesite alertar al cliente.
Continuación de
comandos/Respuestas

Hay casos en el que los comandos de clientes son enviados en dos
o mas mensajes.

El cliente envía el primer mensaje y espera a que el servidor le envíe
una respuesta marcada con el signo suma (+).

Ejemplo:
C: A001 LOGIN
S: + Ready for additional command text
C: user1
S: + Ready for additional command text
C: password
S: A001 OK LOGIN completed
Atributos de Mensajes (Flags)

Estos flags son usados para identificar el estado actual de un
mensaje

\Seen: el mensaje ha sido leido.

\Answered: el mensaje ha sido respondido.

\Flagged: el mensaje fue marcado para una atención especial.

\Deleted: mensaje borrado, para luego ser eliminado en forma
permanente.

\Draft: el mensaje ha sido completado.

\Recent: el mensaje ha llegado recientemente.
Descargar