Aller au contenu principal
Version : Suivant

IMAPNotifier

La classe IMAPNotifier vous permet de gérer les notifications IMAP IDLE pour une boîte aux lettres sélectionnée.

Historique
ReleaseModifications
21 R3Classe ajoutée

La classe IMAPNotifier est disponible dans le class store 4D.

Un objet IMAPNotifier est associé à un transporteur IMAP et permet de gérer les notifications de boîte aux lettres.

Toutes les fonctions de la classe IMAPNotifier sont thread-safe.

Exemple

// Définir les fonctions callback du listener
var $parameter : Object
var $transporter : 4D.IMAPTransporter

$parameter:=New object
$parameter.authenticationMode:=IMAP authentication OAUTH2
$parameter.host:="Outlook.office365.com"
$parameter.port:=993
$parameter.accessTokenOAuth2:=$myToken
$parameter.user:="myaddress@email.com"
$parameter.listener:=cs.IMAPListener.new()

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

$transporter.notifier.start()

Objet IMAPNotifier

Un objet IMAPNotifier fournit les propriétés et fonctions suivantes :

.isStarted : Boolean
indique si le notificateur est démarré (true) ou arrêté (false)
.start() : Object
démarre l'abonnement aux notifications du serveur et active les callbacks
.stop() : Object
arrête l'abonnement aux notifications

4D.IMAPNotifier.new()

4D.IMAPNotifier.new() : 4D.IMAPNotifier

ParamètresTypeDescription
Résultat4D.IMAPNotifier<-Nouvel objet IMAPNotifier

Description

La fonction 4D.IMAPNotifier.new() crée un nouvel objet IMAPNotifier.

.isStarted

.isStarted : Boolean

Description

La propriété .isStarted indique si le notificateur est démarré (true) ou arrêté (false). Cette propriété est en lecture seule.

.start()

.start() : Object

ParamètresTypeDescription
RésultatObject<-Statut de l'opération

Description

La fonction .start() démarre l'abonnement aux notifications du serveur et active les callbacks.

Une boîte aux lettres doit être sélectionnée à l'aide de selectBox() avant d'appeler .start().

Les fonctions de rappel sont exécutées dans le worker où .start() est appelé.

Notes
  • Lorsque le notificateur est lancé, les autres fonctions du transporteur (telles que getMail() ou send()) ne sont pas disponibles. Vous devez appeler .stop() avant d'utiliser ces fonctions, puis appeler .start() à nouveau pour reprendre les notifications.

  • Les notifications IMAP IDLE indiquent qu'un changement s'est produit mais ne fournissent pas de données actualisées sur la boîte aux lettres. Pour actualiser le statut de la boîte aux lettres, vous devez arrêter le notificateur, récupérer les données mises à jour (par exemple à l'aide de getMail()), puis le redémarrer.

Objet retourné

PropriétéTypeDescription
successBooleanVrai si l'opération est réussie, sinon Faux
statusTextTextMessage du statut retourné par le serveur IMAP, ou dernière erreur retournée dans la pile d'erreurs 4D
errorsCollectionPile d'erreur 4D (non retournée si une réponse du serveur est reçue)
[].errcodeNumberCode d'erreur 4D
[].messageTextDescription de l'erreur
[].componentSignatureTextSignature du composant qui a renvoyé l'erreur

.stop()

.stop() : Object

ParamètresTypeDescription
RésultatObject<-Statut de l'opération

Description

La fonction .stop() arrête l'abonnement aux notifications. L'appel à .stop() est nécessaire avant d'utiliser d'autres fonctions du transporteur (comme getMail() ou send()).

Objet retourné

PropriétéTypeDescription
successBooleanVrai si l'opération est réussie, sinon Faux
statusTextTextMessage du statut retourné par le serveur IMAP, ou dernière erreur retournée dans la pile d'erreurs 4D
errorsCollectionPile d'erreur 4D (non retournée si une réponse du serveur est reçue)
[].errcodeNumberCode d'erreur 4D
[].messageTextDescription de l'erreur
[].componentSignatureTextSignature du composant qui a renvoyé l'erreur