IMAP_Search

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_Search (imap_ID; critèreRech; tabNumMsg) Entier

ParamètreTypeDescription
imap_IDEntier longRéférence de connexion IMAP
critèreRechTexteCritère(s) de recherche
tabNumMsgTab Entier longTableau des numéros de messages
RésultatEntierCode d'erreur

Description

La commande IMAP_Search recherche les messages correspondant aux critères définis dans la boîte aux lettres courante. Le paramètre critèreRech contient un ou plusieurs mots-clés de recherche.

tabNumMsg retourne la liste des numéros des messages trouvés par la recherche.

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

Le paramètre critèreRech contient un ou plusieurs mot(s)-clé(s) de recherche (cf. paragraphe "Mots-clés de recherche" ci-dessous) associé(s) ou non à des valeurs de recherche. Un critère de recherche peut être un mot-clé simple ou une liste de mots-clés entre parenthèses. Par exemple:

MotClé1 = FLAGGED

MotClé2 = NOT FLAGGED

MotClé3 = FLAGGED DRAFT

Note : Généralement, la recherche ne tient pas compte de la casse des caractères.

Si le paramètre critèreRech est une chaîne vide, la recherche équivaudra à un "tout sélectionner" :

   IMAP_Search (imap_ID;""; tabNumMsg)

... retourne tous les messages de la boîte aux lettres courante.

Si le paramètre critèreRech contient plusieurs mots-clés de recherche, ils seront reliés par l'opérateur ET (intersection). Seuls les messages correspondant au premier ET au deuxième ET au troisième critère (etc.) seront trouvés.

critèreRech = FLAGGED FROM "SMITH"

... retourne tous les messages comportant le marqueur \Flagged ET envoyés par Smith.

Vous pouvez également utiliser les opérateurs OR (OU) ou NOT (SAUF) :

critèreRech = OR SEEN FLAGGED

... retourne tous les messages comportant le marqueur \Seen OU \Flagged.

critèreRech = NOT SEEN

... retourne tous les messages ne comportant pas le marqueur \Seen.

critèreRech = HEADER CONTENT-TYPE "MIXED" NOT HEADER CONTENT-TYPE "TEXT"

... retourne tous les messages dont l'en-tête content-type contient "Mixed" et ne contient pas "Text".

critèreRech = HEADER CONTENT-TYPE "E" NOT SUBJECT "o" NOT HEADER CONTENT-TYPE "MIXED"

... retourne tous les messages dont l'en-tête content-type contient "e" et dont l'en-tête Subject ne contient pas "o" et dont l'en-tête content-type n'est pas "Mixed".

critèreRech = OR (ANSWERED SMALLER 400) (HEADER CONTENT-TYPE "E" NOT SUBJECT "o" NOT HEADER CONTENT-TYPE "MIXED")

... retourne tous les messages correspondant à la première liste de mots-clés entre parenthèses OU à la seconde liste.

critèreRech = OR ANSWERED SMALLER 400 (HEADER CONTENT-TYPE "E" NOT SUBJECT "o" NOT HEADER CONTENT-TYPE "MIXED")

... retourne tous les messages comportant le marqueur \Answered OU dont la taille est inférieure à 400 octets ET répondant aux critères définis dans la liste entre parenthèses.

Dans les deux derniers exemples, le résultat obtenu sera différent si vous enlevez les parenthèses de la première liste de mots-clés.

Le paramètre critèreRech peut contenir optionnellement l'instruction [CHARSET]. Cette instruction est composée du mot "CHARSET" suivi d'un jeu de caractères défini (US ASCII, ISO-8859). Elle indique le codage de caractères utilisé dans la chaîne de recherche. Par conséquent, vous devez convertir la chaîne de recherche dans le jeu de caractères spécifié si vous utilisez l'instruction [CHARSET] (cf. la commande de 4e Dimension Mac vers ISO).

Par défaut, 4D Internet Commands encode la chaîne de critères de recherche en "Quotable Printable" si elle contient des caractères étendus.

critèreRech = CHARSET "ISO-8859" BODY "Help"

... signifie que le critère de recherche utilise le jeu de caractères ISO-8859 et que le serveur devra convertir la chaîne avant de débuter la recherche, si nécessaire.

Types de valeurs de recherche

Les mots-clés de recherche peuvent traiter des valeurs des types suivants :

Valeurs de type date

Les valeurs de type <date> sont placées dans des chaînes formatées de la manière suivante : jour+"-"+mois+"-"+annéejour indique la date du jour dans le mois (2 caractères maxi), mois indique le mois (Jan/Feb/Mar/Apr/May/Jun/Jul/Aug/Sep/Oct/Dec) et année indique l'année sur 4 chiffres.

Exemple : critèreRech = SENTBEFORE 1-Feb-2000 (il n'est généralement pas nécessaire de mettre une date entre guillemets puisqu'elle ne contient pas de caractères spéciaux).

Valeurs de type chaîne

Les valeurs de type <chaîne> peuvent contenir tout type de caractère et doivent être placées entre des guillemets. Toutefois, si la chaîne ne contient pas de caractères spéciaux (des espaces par exemple), les guillemets ne sont pas obligatoires. Dans tous les cas, les guillemets vous permettent de vous assurer que la chaîne sera correctement interprétée.

Exemple : critèreRech = FROM "SMITH"

Note : Les recherches basées sur des chaînes de caractères sont du type "contient" : si le champ d'un message contient au moins la chaîne recherchée, le message est trouvé. En outre, la recherche ne tient pas compte de la casse des caractères.

Noms de champs

Les valeurs de type <nom de champ> contiennent le nom d'un champ d'en-tête.

Exemple : critèreRech = HEADER CONTENT-TYPE "MIXED"

Marqueurs

Les valeurs de type <marqueur> acceptent un ou plusieurs mots-clés (y compris des marqueurs standard) séparés par des espaces.

Exemple : critèreRech = KEYWORD \Flagged \Draft

Ensemble de messages

Les valeurs de ce type désignent un ensemble de messages. Elles contiennent une liste de numéros de messages dans un ordre croissant, de 1 au nombre total de messages dans la boîte aux lettres.

Les numéros sont séparés par des virgules ; un deux-points (:) indique un intervalle (inclusif) de numéros.

Exemples

2,4:7,9,12:* représente les messages 2,4,5,6,7,9,12,13,14,15 pour une boîte contenant 15 messages.

critèreRech = 1:5 ANSWERED recherche, parmi les messages 1 à 5, ceux qui comportent le marqueur \Answered.

critèreRech = 2,4 ANSWERED recherche, parmi les messages 2 et 4, ceux qui comportent le marqueur \Answered.

Mots-clés de recherche

ALL : Tous les messages de la boîte aux lettres.

ANSWERED : Messages comportant le marqueur \Answered.

UNANSWERED : Messages ne comportant le marqueur \Answered.

DELETED : Messages comportant le marqueur \Deleted.

UNDELETED : Messages ne comportant pas le marqueur \Deleted.

DRAFT : Messages comportant le marqueur \Draft.

UNDRAFT : Messages ne comportant pas le marqueur \Draft.

FLAGGED : Messages comportant le marqueur \Flagged.

UNFLAGGED : Messages ne comportant pas le marqueur \Flagged.

RECENT : Messages comportant le marqueur \Recent.

OLD : Messages ne comportant pas le marqueur \Recent.

SEEN : Messages comportant le marqueur \Seen.

UNSEEN : Messages ne comportant pas le marqueur \Seen.

NEW : Messages comportant le marqueur \Recent et pas le marqueur \Seen. Equivaut à "(RECENT UNSEEN)".

KEYWORD <marqueur> : Messages comportant le marqueur spécifié.

UNKEYWORD <marqueur> : Messages ne comportant pas le marqueur spécifié.

BEFORE <date> : Messages dont la date interne est antérieure à la date spécifiée.

ON <date> : Messages dont la date interne est égale à la date spécifiée.

SINCE <date> : Messages dont la date interne est égale ou postérieure à la date spécifiée.

SENTBEFORE <date> : Messages dont l'en-tête Date est antérieur à la date spécifiée.

SENTON <date> : Messages dont l'en-tête Date est égal à la date spécifiée.

SENTSINCE <date> : Messages dont l'en-tête Date est égal ou postérieur à la date spécifiée.

TO <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête Destinataire.

FROM <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête Emetteur.

CC <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête CC.

BCC <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête BCC.

SUBJECT <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête Objet.

BODY <chaîne> : Messages dont le corps contient la chaîne spécifiée.

Texte <chaîne> : Messages contenant la chaîne spécifiée dans l'en-tête ou le corps.

HEADER <nom de champ> <chaîne> : Messages dont l'en-tête contient le champ défini et dont ce champ contient la chaîne définie.

UID <ID unique de message> : Messages dont le numéro unique correspond à la valeur spécifiée.

LARGER <valeur> : Messages dont la taille en octets est supérieure à la taille spécifiée.

SMALLER <valeur> : Messages dont la taille en octets est inférieure à la taille spécifiée.

NOT <critère> : Messages ne correspondant pas au critère spécifié.

OR <critère1> <critère2> : Messages correspondant au premier ou au deuxième critère spécifié.

Référence

IMAP_GetFlags, IMAP_SetFlags.


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