IMAP : Id de la boîte aux lettres et mots-clés du courrier

4D v20 apporte deux fonctionnalités très utiles aux transporteurs IMAP !

Interagir avec certains serveurs et clients de messagerie IMAP nécessite de gérer des mots-clés personnalisés dans les messages, et de bénéficier de certaines de leurs fonctionnalités spécifiques.

Nous avons également ajouté le support de l’ID de la boîte aux lettres dans notre Transporteur IMAP afin que vous puissiez identifier une boîte aux lettres donnée même après qu’elle ait été renommée.

Mots clés personnalisés

Comme certains serveurs IMAP permettent à l’utilisateur de définir des mots-clés personnalisés, les fonctions .addFlags () et .removeFlags ( ) acceptent désormais des mots arbitraires comme mots-clés :

$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")

$mailIds:=["122";"123";"124"]
// Custom keyword
$keywords:={"myKeyword":true}
// apply the custom keyword to the collection of mail
$status:=$transporter.addFlags($mailIds; $keywords)

et la fonction .selectBox ( ) renvoie la liste des drapeaux autorisés dans la boîte aux lettres actuelle via les attributs .flags et .permanentFlags:

$selectBox:=$transporter.selectBox("INBOX")
//$selectBox={name:INBOX,
//mailCount:124,
//mailRecent:0,
//id:644737301,
//flags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword,
//permanentFlags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword \\*} 

Id de la boîte aux lettres

Comme le nom de la boîte aux lettres n’est pas suffisant pour savoir si la boîte sélectionnée a été renommée ou supprimée et recréée, nous ajoutons l’identifiant aux informations renvoyées par les fonctions .selectBox () et .getBoxInfo ( ) du transporteur IMAP :

$boxInfo:=$transporter.getBoxInfo("INBOX")
//{name:INBOX,
//mailCount:125,
//mailRecent:0,
//id:644737301}

Consultez ces fonctions dans la documentation pour plus de détails !

Fabrice Mainguené
- Product Owner -Fabrice Mainguené a rejoint l'équipe du programme 4D en novembre 2016. En tant que Product Owner, il est en charge de rédiger les user stories puis de les traduire en spécifications fonctionnelles. Son rôle est également de s'assurer que l'implémentation de la fonctionnalité livrée répond au besoin du client.Après avoir obtenu une licence en informatique au CNAM, Fabrice a rejoint une petite société d'édition de logiciels en tant que développeur Windev. Il a ensuite travaillé pour différentes entreprises dans les domaines de l'industrie et du commerce en tant que développeur Windev et web ainsi que conseiller technique sur les nouvelles fonctionnalités.