IMAPNotifier
La clase IMAPNotifier permite gestionar las notificaciones IMAP IDLE para un buzón seleccionado.
Historia
| Lanzamiento | Modificaciones |
|---|---|
| 21 R3 | Clase añadida |
La clase IMAPNotifier está disponible en el class store 4D.
Un objeto IMAPNotifier está asociado a un transportador IMAP y ofrece acceso a la gestión de notificaciones del buzón.
Todas las funciones de clase IMAPNotifier son hilo seguro.
Ejemplo
// Define las funciones de retrollamada del 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()
IMAPNotifier object
Un objeto IMAPNotifier proporciona las siguientes propiedades y funciones:
| .isStarted : Boolean indica si el notificador está iniciado ( true) o detenido (false) |
| .start() : Object inicia la suscripción a las notificaciones del servidor y activa las retrollamadas del oyente IMAP |
| .stop() : Object detiene la suscripción a la notificación |
4D.IMAPNotifier.new()
4D.IMAPNotifier.new() : 4D.IMAPNotifier
| Parámetros | Tipo | Descripción | |
|---|---|---|---|
| Resultado | 4D.IMAPNotifier | <- | Nuevo objeto IMAPNotifier |
Descripción
La función 4D.IMAPNotifier.new() crea un nuevo objeto IMAPNotifier.
.isStarted
.isStarted : Boolean
Descripción
La propiedad .isStarted indica si el notificador está iniciado (true) o detenido (false). Esta propiedad es de solo lectura.
.start()
.start() : Object
| Parámetros | Tipo | Descripción | |
|---|---|---|---|
| Resultado | Object | <- | Estado de la operación |
Descripción
La función .start() inicia la suscripción a las notificaciones del servidor y activa las retrollamadas del oyente IMAP.
Debe seleccionarse un buzón mediante selectBox() antes de llamar a .start().
Las funciones de retrollamada son ejecutadas en el worker donde .start() es llamado.
-
Cuando se inicia el notificador, otras funciones del transportador (como
getMail()osend()) no están disponibles. Debe llamar a.stop()antes de utilizar estas funciones, y luego llamar de nuevo a.start()para reanudar las notificaciones. -
Las notificaciones IMAP IDLE indican que se ha producido un cambio pero no ofrecen datos actualizados del buzón. Para actualizar el estado del buzón, debe detener el aviso, recuperar los datos actualizados (por ejemplo usando
getMail()), y luego reiniciarlo.
Objeto devuelto
| Propiedad | Tipo | Descripción | |
|---|---|---|---|
| success | Boolean | True si la operación tiene éxito, False en caso contrario | |
| statusText | Text | Mensaje de estado devuelto por el servidor IMAP, o último error devuelto en la pila de errores 4D | |
| errors | Collection | Pila de error 4D (no retornado si se recibe una respuesta del servidor) | |
| [].errcode | Number | Código de error 4D | |
| [].message | Text | Descripción del error | |
| [].componentSignature | Text | Firma del componente que ha devuelto el error |
.stop()
.stop() : Object
| Parámetros | Tipo | Descripción | |
|---|---|---|---|
| Resultado | Object | <- | Estado de la operación |
Descripción
La función .stop() detiene la suscripción a la notificación. Es necesario llamar a .stop() antes de utilizar otras funciones del transportador (como getMail() o send()).
Objeto devuelto
| Propiedad | Tipo | Descripción | |
|---|---|---|---|
| success | Boolean | True si la operación tiene éxito, False en caso contrario | |
| statusText | Text | Mensaje de estado devuelto por el servidor IMAP, o último error devuelto en la pila de errores 4D | |
| errors | Collection | Pila de error 4D (no retornado si se recibe una respuesta del servidor) | |
| [].errcode | Number | Código de error 4D | |
| [].message | Text | Descripción del error | |
| [].componentSignature | Text | Firma del componente que ha devuelto el error |