4D Internet Commands v16

IMAP_Search

Accueil

 
4D Internet Commands v16
IMAP_Search

IMAP_Search 


 

IMAP_Search ( imap_ID ; critèreRech ; tabNumMsg ) -> Résultat 
Paramètre Type   Description
imap_ID  Entier long in Référence de connexion IMAP
critèreRech  Texte in Critère(s) de recherche
tabNumMsg  Tableau entier long in Tableau des numéros de messages
Résultat  Entier in Code d’erreur

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 4D 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.

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.

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é.



Voir aussi  

IMAP_GetFlags
IMAP_SetFlags

 
PROPRIÉTÉS 

Produit : 4D Internet Commands
Thème : IC IMAP Review Mail
Numéro : 88864

 
HISTORIQUE 

Créé : 4D Internet Commands 6.8.1

 
UTILISATION DE L'ARTICLE

4D Internet Commands ( 4D Internet Commands v16)