4D Internet Commands v16

IMAP_SetFlags

Inicio

 
4D Internet Commands v16
IMAP_SetFlags

IMAP_SetFlags 


 

IMAP_SetFlags ( imap_ID ; primerMsg ; ultimoMsg ; listMarcMsg ; eliminarOpcion ) -> resultado 
Parámetro Tipo   Descripción
imap_ID  Entero largo in Referencia de conexión IMAP
primerMsg  Entero largo in Número del primer mensaje
ultimoMsg  Entero largo in Número del último mensaje
listMarcMsg  Cadena in Marcadores a añadir o eliminar
eliminarOpcion  Entero in 1 = añadir marcador, 0 = eliminar marcador
resultado  Entero in Código de error

El comando IMAP_SetFlags permite añadir o borrar en una operación varios marcadores asociados a los mensajes del intervalo definido.

El protocolo IMAP permite asociar una lista de marcadores a un mensaje. Hay dos tipos de marcadores: los marcadores permanentes y los marcadores de sesión.
Los marcadores permanentes se agregan o eliminan permanentemente de los marcadores de los mensajes (ver IMAP_SetCurrentMB); es decir, toda modificación de un marcador permanente se conservará durante las sesiones posteriores.
Los cambios efectuados en los marcadores de sesión son válidos sólo para esa sesión.

Los marcadores sistema definidos actualmente son:

  • Seen: el mensaje ha sido leído.
  • Answered: el mensaje ha sido respondido.
  • Flagged: el mensaje está "marcado" como urgente/ de atención especial.
  • Deleted: el mensaje se borrará con IMAP_Delete, IMAP_CloseCurrentMB, IMAP_SetCurrentMB o IMAP_Logout.
  • Draft: el mensaje está en borrador, es decir, no está completo.
  • Recent: el mensaje llegó recientemente a este buzón. Este marcador sólo aparece en una sesión; las sesiones posteriores no verán el marcador \Recent en este mensaje. Este marcador permanente es administrado por el servidor IMAP y no puede ser modificado por un cliente IMAP utilizando por ejemplo el comando IMAP_SetFlags.

Un servidor IMAP puede permitir a un cliente definir marcadores personalizados. En este caso, los marcadores adicionales se llaman palabras claves (keywords) y no comienzan por el carácter "\" (ver el comando IMAP_SetCurrentMB). Esto depende de la implementación del servidor IMAP. En este caso, los marcadores adicionales se llaman palabras claves (keywords) y no comienzan por el carácter "\" (ver el comando IMAP_SetCurrentMB).

Nota: si se establece el marcador \Deleted y cierra la sesión actual ejecutando IMAP_SetCurrentMB, IMAP_CloseCurrentMB, IMAP_Delete o IMAP_Logout, el mensaje se borrará de manera permanente.

imap_ID es una referencia entero largo a una conexión abierta creada con IMAP_Login.

primerMsg es un número entero largo que especifica el número del primer mensaje a examinar. El número de mensaje es un valor que representa la posición de un mensaje en la lista de todos los mensajes en el buzón de trabajo actual.

ultimoMsg es un número entero largo que indica el número del último mensaje a examinar. El número de mensaje es un valor que representa la posición de un mensaje en la lista de todos los mensajes en el buzón de trabajo actual.

Nota: los comandos IMAP_Delete, IMAP_MsgLstInfo, IMAP_MsgLst, IMAP_SetFlags, IMAP_GetFlags y IMAP_CopyToMB no devuelven un error si primerMsg es mayor que el ultimoMsg. En caso de que esto ocurra, el comando no hace nada.

listMarcMsg puede contener uno o varios marcadores. En el caso de varios marcadores, la cadena debe ser una lista de marcadores, separados por espacios. Ver los ejemplos a continuación.

Sólo los marcadores permanentes indicados en la lista marcPermanentes pueden ser modificados, (ver IMAP_SetCurrentMB).

eliminarOpción es un valor entero que especifica si se debe eliminar o agregar el o los marcador(es) definido(s) por el parámetro listMarcMsg:

  • Un valor de cero añade los marcadores especificados en listMarcMsg.
  • Un valor de 1 elimina los marcadores especificados en listMarcMsg.

Definición de los marcadores \Answered y \Draft para los mensajes especificados entre primerMsg y ultimoMsg:

 msgFlagsName:="\Answered \Draft"
  ` \Answered y \Draft están separados por un espacio (código ASCII)
 IMAP_SetFlags(imap_ID;primerMsg;ultimoMsg;msgFlagsName;0)

Eliminación del marcador \Deleted para los mensajes entre inicioMsg y ultimoMsg,  cualquiera que sea el estado del marcador:

 msgFlagsName:="\Deleted"
 IMAP_SetFlags(imap_ID;startMsg;endMsg;msgFlagsName;1)

Definición del marcador \Deleted para los mensajes entre primerMsg y ultimoMsg, sin importar si el marcador fue definido previamente o no:

 msgFlagsName:="\Deleted"
 IMAP_SetFlags(imap_ID;startMsg;endMsg;msgFlagsName;0)
 IMAP_CloseCurrentMB(imap_ID)
  `Cierre del buzón actual y eliminación definitiva de los mensajes especificados.

Definición del marcador \Answered en función del valor de CheckBoxAnswered:

 $Error:=IMAP_SetFlags(vImap_ID;$msgNum;$msgNum;"\Answered";Num(CheckBoxAnswered=0))



Ver también 

IMAP_GetFlags
IMAP_SetCurrentMB

 
PROPIEDADES 

Producto: 4D Internet Commands
Tema: IC IMAP Review Mail
Número 88870

 
HISTORIA 

Creado por: 4D Internet Commands 6.8.1

 
ARTICLE USAGE

4D Internet Commands ( 4D Internet Commands v16)