IMAP_SetFlags

4D - Documentation   Français   English   German   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant

version 6.8.1


IMAP_SetFlags (imap_ID; premierMsg; dernierMsg; listeMarqMsg; optionSuppr) Entier

ParamètreTypeDescription
imap_IDEntier longRéférence de connexion IMAP
premierMsgEntier longNuméro du premier message
dernierMsgEntier longNuméro du dernier message
listeMarqMsgAlpha | TexteMarqueurs à ajouter ou supprimer
optionSupprEntier0 = supprimer marqueur, 1 = ajouter marqueur
RésultatEntierCode d'erreur

Description

La commande IMAP_SetFlags permet d'ajouter ou de supprimer en une opération plusieurs marqueurs attachés aux messages de l'intervalle défini.

Le protocole IMAP permet d'associer une liste de marqueurs à un message. Il existe deux types de marqueurs : les marqueurs permanents et les marqueurs de session.

Les marqueurs permanents sont ajoutés ou supprimés de manière durable parmi les marqueurs des messages (cf. commande IMAP_SetCurrentMB) ; autrement dit, toute modification d'un marqueur permanent sera conservée lors des sessions ultérieures.

Les modifications effectuées sur les marqueurs de session ne sont valides que pendant la session.

Les marqueurs système actuellement définis sont les suivants :

Seen : le message a été lu.

Answered : une réponse au message a été envoyée.

Flagged : le message est étiqueté "urgent" afin d'attirer l'attention.

Deleted : le message est déclaré "à supprimer" et sera supprimé ultérieurement lors de l'exécution de la commande IMAP_Delete, IMAP_CloseCurrentMB, IMAP_SetCurrentMB ou IMAP_Logout.

Draft : le message est encore à l'état de brouillon.

Recent : le message a été reçu "récemment" dans la boîte aux lettres. Ce marqueur n'apparaît qu'au cours d'une seule session ; les sessions suivantes ne le verront pas. Ce marqueur permanent est géré par le serveur IMAP et ne peut pas être modifié par un client IMAP à l'aide de la commande IMAP_SetFlags, par exemple.

Certains serveurs IMAP permettent aux clients de définir des marqueurs personnalisés. Dans ce cas, les marqueurs additionnels sont appelés des mots-clés (keywords) et ne débutent pas par le caractère "\" (cf. commande IMAP_SetCurrentMB).

Note : Si vous positionnez le marqueur \Deleted puis refermez la session en exécutant la commande IMAP_SetCurrentMB, IMAP_CloseCurrentMB, IMAP_Delete ou IMAP_Logout, le message concerné sera supprimé définitivement.

imap_ID contient la référence d'une session ouverte avec IMAP_Login.

Le paramètre premierMsg désigne le numéro du premier message à examiner. Ce numéro représente la position d'un message dans la liste de tous les messages de la boîte aux lettres courante.

Le paramètre dernierMsg indique le numéro du dernier message à examiner. Ce numéro représente la position d'un message dans la liste de tous les messages de la boîte aux lettres courante.

Note : Si le paramètre premierMsg est supérieur au paramètre dernierMsg, les commandes IMAP_Delete, IMAP_MsgLstInfo, IMAP_MsgLst, IMAP_SetFlags, IMAP_GetFlags et IMAP_CopyToMB ne retournent pas d'erreur et ne font rien.

Vous pouvez passer un ou plusieurs marqueur(s) dans le paramètre listeMarqMsg. Si vous passez plusieurs marqueurs, ils doivent être séparés par des espaces (voir exemples ci-dessous).

Seuls les marqueurs permanents indiqués dans la liste marqPermanent pourront être modifiés (cf. commande IMAP_SetCurrentMB).

Le paramètre optionSuppr vous permet d'indiquer si vous souhaitez enlever ou ajouter le ou les marqueur(s) défini(s) dans le paramètre listeMarqMsg :

0 = suppression du ou des marqueur(s)

1 = ajout du ou des marqueur(s)

Exemples

(1) Définition des marqueurs \Answered et \Draft pour les messages compris entre StartMsg et EndMsg :

   msgFlagsName:="\Answered \Draft"
      ` \Answered et \Draft sont séparés par un espace
   IMAP_SetFlags (imap_ID;startMsg;endMsg;msgFlagsName;1)

(2) Suppression du marqueur \Deleted pour les messages compris entre StartMsg et EndMsg, quel que soit l'état précédent de ce marqueur :

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

(3) Définition du marqueur \Deleted pour les messages compris entre StartMsg et EndMsg, quel que soit l'état précédent de ce marqueur :

   msgFlagsName:="\Deleted"
   IMAP_SetFlags (imap_ID;startMsg;endMsg;msgFlagsName;1)
   IMAP_CloseCurrentMB (imap_ID)
      `Fermeture de la boîte aux lettres courante et suppression définitive des messages désignés

(4) Définition du marqueur \Answered en fonction de la valeur de la case à cocher "CheckBoxAnswered" :

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

Référence

IMAP_GetFlags, IMAP_SetCurrentMB.


4D - Documentation   Français   English   German   Commandes Internet de 4D, Sommaire   Commandes Internet de 4D, Index   Retour   Précédent   Suivant