IMAPNotifier
La classe IMAPNotifier vous permet de gérer les notifications IMAP IDLE pour une boîte aux lettres sélectionnée.
Historique
| Release | Modifications |
|---|---|
| 21 R3 | Classe 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ètres | Type | Description | |
|---|---|---|---|
| Résultat | 4D.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ètres | Type | Description | |
|---|---|---|---|
| Résultat | Object | <- | 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é.
-
Lorsque le notificateur est lancé, les autres fonctions du transporteur (telles que
getMail()ousend()) 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é | Type | Description | |
|---|---|---|---|
| success | Boolean | Vrai si l'opération est réussie, sinon Faux | |
| statusText | Text | Message du statut retourné par le serveur IMAP, ou dernière erreur retournée dans la pile d'erreurs 4D | |
| errors | Collection | Pile d'erreur 4D (non retournée si une réponse du serveur est reçue) | |
| [].errcode | Number | Code d'erreur 4D | |
| [].message | Text | Description de l'erreur | |
| [].componentSignature | Text | Signature du composant qui a renvoyé l'erreur |
.stop()
.stop() : Object
| Paramètres | Type | Description | |
|---|---|---|---|
| Résultat | Object | <- | 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é | Type | Description | |
|---|---|---|---|
| success | Boolean | Vrai si l'opération est réussie, sinon Faux | |
| statusText | Text | Message du statut retourné par le serveur IMAP, ou dernière erreur retournée dans la pile d'erreurs 4D | |
| errors | Collection | Pile d'erreur 4D (non retournée si une réponse du serveur est reçue) | |
| [].errcode | Number | Code d'erreur 4D | |
| [].message | Text | Description de l'erreur | |
| [].componentSignature | Text | Signature du composant qui a renvoyé l'erreur |