Saltar al contenido principal
Versión: 21 R3 BETA

IMAPNotifier

La clase IMAPNotifier permite gestionar las notificaciones IMAP IDLE para un buzón seleccionado.

Historia
LanzamientoModificaciones
21 R3Clase 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ámetrosTipoDescripción
Resultado4D.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ámetrosTipoDescripción
ResultadoObject<-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.

Notas
  • Cuando se inicia el notificador, otras funciones del transportador (como getMail() o send()) 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

PropiedadTipoDescripción
successBooleanTrue si la operación tiene éxito, False en caso contrario
statusTextTextMensaje de estado devuelto por el servidor IMAP, o último error devuelto en la pila de errores 4D
errorsCollectionPila de error 4D (no retornado si se recibe una respuesta del servidor)
[].errcodeNumberCódigo de error 4D
[].messageTextDescripción del error
[].componentSignatureTextFirma del componente que ha devuelto el error

.stop()

.stop() : Object

ParámetrosTipoDescripción
ResultadoObject<-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

PropiedadTipoDescripción
successBooleanTrue si la operación tiene éxito, False en caso contrario
statusTextTextMensaje de estado devuelto por el servidor IMAP, o último error devuelto en la pila de errores 4D
errorsCollectionPila de error 4D (no retornado si se recibe una respuesta del servidor)
[].errcodeNumberCódigo de error 4D
[].messageTextDescripción del error
[].componentSignatureTextFirma del componente que ha devuelto el error