|
|
|
|
|
- Recuperación de mensajes
- Recuperación de mensajes asíncronos (IMAP)
- Consumo de memoria
- Gestión de la barra de progreso
Recupera todos los Email s encontrados en un servidor de Email.
// Retrieve all unread emails from the in-box. IMAPSession is emailIMAPSession arrUnreadEmails is array of Emails // Start the session EmailStartSession(IMAPSession) // Retrieve all unread emails arrUnreadEmails = EmailGetAll(IMAPSession, ertNotRead) // Display the information for each email FOR EACH MyEmail OF arrUnreadEmails LooperAddLine(LOOP_EMAIL, MyEmail.Sender, MyEmail.Message, MyEmail.Subject) END
Sintaxis
<Result> = EmailGetAll(<Connection> [, <Read options>])
<Result>: Array de las variables de la Email Emails encontrados en la bandeja de entrada (los elementos efectivamente recuperados dependen de los parámetros). <Connection>: Cadena de caracteres o correo electrónicoXXSesión Variable Conexión al servidor de mensajería.Este parámetro puede ser: <Read options>: Constante opcional de tipo Integer Los valores posibles son: | | ertAsynchronous | Los mensajes se recuperan en modo asíncrono. La función devuelve inmediatamente una array de variables Email que contiene tantos elementos como sea necesario. La recuperación efectiva de los datos se realiza "a petición" cuando se accede a los elementos de array. Observaciones: - En este modo, se ignoran las barras de progreso y los callbacks definidos por EmailProgressBar.
- Los correos electrónicos más antiguos se procesan primero.
| ertFull | Los mensajes se leen íntegramente desde el servidor (cabecera, cuerpo del mensaje y archivos adjuntos). | ertHeader (valor predeterminado) | Sólo se leen las cabeceras. La recuperación efectiva de otros datos (cuerpo del mensaje y archivos adjuntos) se realiza "previa solicitud" al acceder a los elementos de array. | ertNotRead | Sólo se recuperan los mensajes marcados como "no leídos" en el servidor. Observación: Este valor no está disponible para una conexión POP3. |
Observaciones Recuperación de mensajes Para recuperar todos los mensajes junto con los archivos adjuntos, le recomendamos utilizar la constante ertFull para reducir el número de llamadas al servidor. On the contrary, if only a few emails are to be fully retrieved, it is recommended to use the ertHeader constant (default value) and let the message body be automatically retrieved when necessary (ie when the Message Property of the Email Variable is accessed) . Observaciones: - Si un Property de un Email se modifica antes de que se recupere el cuerpo del mensaje o los adjuntos, la recuperación del cuerpo del mensaje y los adjuntos se cancela.
- Recuperación de correos electrónicos de Outlook: ContentType Property no está disponible y ContentID Property es opcional.
Recuperación de mensajes asíncronos (IMAP) Para no generar bloqueos, los correos electrónicos se recuperan de forma asíncrona con la constante ertAsynchronous en un subproceso secundario. El array devuelto por la función EmailGetAll debe ser recorrido en su totalidad antes de llamar a cualquier función EmailXXX que necesite un intercambio con el servidor IMAP. Atención: el acceso a la información que no se ha recuperado puede causar un error al acceder a la array. Por ejemplo, no escriba el siguiente código: arrUnreadEmails = EmailGetAll(IMAPSession, ertAsynchronous) FOR EACH mail OF arrUnreadEmails IF mail.Subject [~] "warning" THEN EmailChangeStatus(IMAPSession, mail, emailStatusNotRead) END END
De hecho, es necesario gestionar el cambio de estado después de navegar a través de todos los correos electrónicos.. Por ejemplo: nIndex is int arrSubscriptEmailChangeStatus is array of int arrUnreadEmails = EmailGetAll(IMAPSession, ertAsynchronous) FOR EACH mail OF arrUnreadEmails nSubscript++ IF mail.Subject [~] "warning" THEN Add(arrSubscriptEmailChangeStatus, nIndex) END END FOR EACH n OF arrSubscriptEmailChangeStatus EmailChangeStatus(IMAPSession, arrUnreadEmails[n], emailStatusNotRead) END Consumo de memoria La recuperación de correos electrónicos se realiza en memoria. Si la bandeja de entrada contiene varios mensajes o archivos adjuntos de gran tamaño, la lectura puede consumir mucha memoria.
Esta página también está disponible para…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|