IMAPTransporter
La clase IMAPTransporter
le permite recuperar mensajes de un servidor de correo IMAP.
Objeto IMAP Transporter
Los objetos IMAP Transporter se instancian con el comando IMAP New transporter. Ofrecen las siguientes propiedades y funciones:
.acceptUnsecureConnection : Boolean True if 4D is allowed to establish an unencrypted connection |
.addFlags( msgIDs : Collection ; keywords : Object ) : Object .addFlags( msgIDs : Text ; keywords : Object ) : Object .addFlags( msgIDs : Longint ; keywords : Object ) : Object agrega banderas a los msgIDs para las keywords especificadas |
.append( mailObj : Object ; destinationBox : Text ; options : Object ) : Object añade un mailObj al destinationBox |
.authenticationMode : Text the authentication mode used to open the session on the mail server |
.checkConnection() : Object checks the connection using information stored in the transporter object |
.checkConnectionDelay : Integer el tiempo máximo (en segundos) permitido antes de verificar la conexión con el servidor |
.connectionTimeOut : Integer the maximum wait time (in seconds) allowed to establish a connection to the server |
.copy( msgsIDs : Collection ; destinationBox : Text ) : Object .copy( allMsgs : Integer ; destinationBox : Text ) : Object copia los mensajes definidos por msgsIDs o allMsgs en la destinationBox en el servidor IMAP |
.createBox( name : Text ) : Object crea un buzón con el nombre dado |
.delete( msgsIDs : Collection ) : Object .delete( allMsgs : Integer ) : Object define el marcador "deleted" para los mensajes definidos en msgsIDs o allMsgs |
.deleteBox( name : Text ) : Object elimina permanentemente el buzón de correo con el name dado del servidor IMAP |
.expunge() : Object elimina todos los mensajes con el marcador "deleted" del servidor de correo IMAP. |
.getBoxInfo( { name : Text }) : Object devuelve un objeto boxInfo correspondiente al buzón de correo actual o el buzón de correo name |
.getBoxList( { parameters : Object } ) : Collection devuelve una colección de bandejas de entrada que describe todas las bandejas de entrada disponibles |
.getDelimiter() : Text devuelve el caracter utilizado para delimitar niveles de jerarquía en el nombre del buzón |
.getMail( msgNumber: Integer { ; options : Object } ) : Object .getMail( msgID: Text { ; options : Object } ) : Object devuelve el objeto Email correspondiente al msgNumber o msgID en el buzón designado por el IMAP_transporter |
.getMails( ids : Collection { ; options : Object } ) : Object .getMails( startMsg : Integer ; endMsg : Integer { ; options : Object } ) : Object devuelve un objeto que contiene una colección de objetos Email |
.getMIMEAsBlob( msgNumber : Integer { ; updateSeen : Boolean } ) : Blob .getMIMEAsBlob( msgID : Text { ; updateSeen : Boolean } ) : Blob devuelve un BLOB con el contenido MIME del mensaje correspondiente al msgNumber o msgID en el buzón designado por el IMAP_transporter |
.host : Text the name or the IP address of the host server |
.logFile : Text the path of the extended log file defined (if any) for the mail connection |
.move( msgsIDs : Collection ; destinationBox : Text ) : Object .move( allMsgs : Integer ; destinationBox : Text ) : Object mueve los mensajes definidos por msgsIDs o allMsgs a la destinationBox del servidor IMAP |
.numToID( startMsg : Integer ; endMsg : Integer ) : Collection convierte los números de secuencia en IDs únicos IMAP para los mensajes en el rango secuencial designado por startMsg y endMsg |
.removeFlags( msgIDs : Collection ; keywords : Object ) : Object .removeFlags( msgIDs : Text ; keywords : Object ) : Object .removeFlags( msgIDs : Longint ; keywords : Object ) : Object elimina las banderas de los msgIDs para las keywords especificadas |
.renameBox( currentName : Text ; newName : Text ) : Object cambia el nombre de un buzón en el servidor IMAP |
.port : Integer the port number used for mail transactions |
.searchMails( searchCriteria : Text ) : Collection busca los mensajes que coincidan con los criterios de búsqueda searchCriteria dados en el buzón actual |
.selectBox( name : Text { ; state : Integer } ) : Object selecciona el buzón name como buzón actual |
.subscribe( name : Text ) : Object permite añadir el buzón especificado al conjunto de buzones "suscritos" del servidor IMAP |
.unsubscribe( name : Text ) : Object elimina un buzón de un conjunto de buzones suscritos |
.user : Text the user name used for authentication on the mail server |
IMAP New transporter
Historia
Lanzamiento | Modificaciones |
---|---|
18 R4 | Añadidos |
IMAP New transporter( server : Object ) : 4D.IMAPTransporter
Parámetros | Tipo | Descripción | |
---|---|---|---|
server | Object | -> | Información del servidor de correo |
Result | 4D.IMAPTransporter | <- | Objeto transportador IMAP |
Descripción
El comando IMAP New transporter
configura una nueva conexión IMAP según el parámetro server y devuelve un nuevo objeto transporter. El objeto transportador devuelto se utilizará normalmente para recibir correos electrónicos.
En el parámetro server, pase un objeto que contenga las siguientes propiedades:
server | Valor por defecto (si se omite) |
---|---|
.acceptUnsecureConnection : Boolean True if 4D is allowed to establish an unencrypted connection | False |
.accessTokenOAuth2: Text .accessTokenOAuth2: Object Cadena u objeto token que representa las credenciales de autorización OAuth2. Utilizado sólo con OAUTH2 authationMode . Si se utiliza accessTokenOAuth2 pero se omite authenticationMode , se utiliza el protocolo OAuth 2 (si el servidor lo permite). No se devuelve en el objeto IMAP transporter. | ninguno |
.authenticationMode : Text the authentication mode used to open the session on the mail server | se utiliza el modo de autenticación más seguro soportado por el servidor |
.checkConnectionDelay : Integer el tiempo máximo (en segundos) permitido antes de verificar la conexión con el servidor | 300 |
.connectionTimeOut : Integer the maximum wait time (in seconds) allowed to establish a connection to the server | 30 |
.host : Text the name or the IP address of the host server | obligatorio |
.logFile : Text the path of the extended log file defined (if any) for the mail connection | ninguno |
.password : Text contraseña de usuario para la autenticación en el servidor. No se devuelve en el objeto IMAP transporter. | ninguno |
.port : Integer the port number used for mail transactions | 993 |
.user : Text the user name used for authentication on the mail server | ninguno |
Atención: asegúrese de que el tiempo de espera definido sea menor que el tiempo de espera del servidor, de lo contrario el tiempo de espera del cliente será inútil.
Result
La función devuelve un objeto transportador IMAP. Todas las propiedades devueltas son de sólo lectura**.
La conexión IMAP se cierra automáticamente cuando se destruye el objeto transportador.
Ejemplo
$server:=New object
$server.host:="imap.gmail.com" //Obligatorio
$server.port:=993
$server.user:="4d@gmail.com"
$server.password:="XXXXXXXX"
$server.logFile:="LogTest.txt" //log a guardar en la carpeta Logs
var $transporter : 4D.IMAPTransporter
$transporter:=IMAP New transporter($server)
$status:=$transporter.checkConnection()
If(Not($status.success))
ALERT("An error occurred: "+$status.statusText)
End if
4D.IMAPTransporter.new()
4D.IMAPTransporter.new( server : Object ) : 4D.IMAPTransporter
Parámetros | Tipo | Descripción | |
---|---|---|---|
server | Object | -> | Información del servidor de correo |
Result | 4D.IMAPTransporter | <- | Objeto transportador IMAP |
Descripción
La función 4D.IMAPTransporter.new()
crea y devuelve un nuevo objeto de tipo 4D.IMAPTransporter
. Es idéntico al comando IMAP New transporter
(acceso directo).
.acceptUnsecureConnection
Historia
Lanzamiento | Modificaciones |
---|---|
17 R4 | Añadidos |
.acceptUnsecureConnection : Boolean
Descripción
The .acceptUnsecureConnection
property contains True if 4D is allowed to establish an unencrypted connection when encrypted connection is not possible.
It contains False if unencrypted connections are unallowed, in which case an error in returned when encrypted connection is not possible.
Los puertos seguros disponibles son:
-
SMTP
- 465: SMTPS
- 587 o 25: SMTP con actualización STARTTLS si lo soporta el servidor.
-
IMAP
- 143: Puerto IMAP no encriptado
- 993: IMAP con actualización STARTTLS si lo soporta el servidor
-
POP3
- 110: Puerto POP3 no encriptado
- 995: POP3 con actualización STARTTLS si lo soporta el servidor.
.addFlags()
Historia
Lanzamiento | Modificaciones |
---|---|
20 | Soporta palabras claves personalizadas |
18 R6 | Añadidos |
.addFlags( msgIDs : Collection ; keywords : Object ) : Object
.addFlags( msgIDs : Text ; keywords : Object ) : Object
.addFlags( msgIDs : Longint ; keywords : Object ) : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
msgIDs | Collection | -> | Colección de cadenas: identificadores únicos de mensajes (texto) Texto: ID único de un mensaje Longint (IMAP all): todos los mensajes del buzón seleccionado |
keywords | Object | -> | Banderas de palabras claves a añadir |
Result | Object | <- | Estado de la operación addFlags |
Descripción
La función .addFlags()
agrega banderas a los msgIDs
para las keywords
especificadas.
En el parámetro msgIDs
, puedes pasar:
- una colección que contiene los IDs únicos de mensajes específicos o
- el ID único (text) de un solo mensaje o
- la siguiente constante (longint) para todos los mensajes del buzón seleccionado:
Constante | Valor | Comentario |
---|---|---|
IMAP all | 1 | Seleccionar todos los mensajes del buzón seleccionado |
El parámetro keywords
permite definir las banderas a añadir a msgIDs
. Puede utilizar las siguientes banderas estándar, así como banderas personalizadas (la compatibilidad con banderas personalizadas depende de la implementación del servidor):
Propiedad | Tipo | Descripción |
---|---|---|
$draft | Boolean | True para añadir el marcador "draft" al mensaje |
$seen | Boolean | True para añadir el marcador "seen" al mensaje |
$flagged | Boolean | True para añadir el marcador "flagged" al mensaje |
$answered | Boolean | True para añadir el marcador "answered" al mensaje |
$deleted | Boolean | True para añadir el marcador "deleted" al mensaje |
<custom flag> | Boolean | True para añadir la bandera personalizada al mensaje |
Los nombres de las banderas personalizadas deben respetar esta regla: la palabra clave debe ser una cadena que no distinga entre mayúsculas y minúsculas, excluyendo los caracteres de control y el espacio, y no puede incluir ninguno de estos caracteres: ( ) { ] % * " \
- Para que una palabra clave se tenga en cuenta tiene que ser true.
- La interpretación de los indicadores de palabras claves puede variar según el cliente de correo.
Objeto devuelto
La función devuelve un objeto que describe el estado IMAP:
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 errores 4D (no se devuelve si se recibe una respuesta del servidor IMAP) | |
[].errcode | Number | Código de error 4D | |
[].message | Text | Descripción del error 4D | |
[].componentSignature | Text | Firma del componente interno que ha devuelto el error |
Ejemplo
var $options;$transporter;$boxInfo;$status : Object
$options:=New object
$options.host:="imap.gmail.com"
$options.port:=993
$options.user:="4d@gmail.com"
$options.password:="xxxxx"
// Crear transportador
$transporter:=IMAP New transporter($options)
// Seleccionar buzón de correo
$boxInfo:=$transporter.selectBox("INBOX")
// Marcar todos los mensajes de INBOX como leídos/vistos
$flags:=New object
$flags["$seen"]:=True
$status:=$transporter.addFlags(IMAP all;$flags)
.append()
Historia
Lanzamiento | Modificaciones |
---|---|
18 R6 | Añadidos |
.append( mailObj : Object ; destinationBox : Text ; options : Object ) : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
mailObj | Object | -> | Objeto Email |
destinationBox | Text | -> | Buzón para recibir el objeto Email |
options | Object | -> | Objeto que contiene información del charset |
Result | Object | <- | Estado de la operación |
Descripción
La función .append()
añade un mailObj
al destinationBox
.
En el parámetro mailObj
, pase un objeto email. Para obtener una descripción completa de las propiedades del correo, consulte objeto Email. La función .append()
soporta los marcadores de palabras claves en el atributo keywords
de objetos Email.
El parámetro opcional destinationBox
permite pasar el nombre de un buzón donde se añadirá el objeto mailObj
. Si se omite, se utiliza el buzón actual.
En el parámetro opcional options
, puede pasar un objeto para definir el conjunto de caracteres y la codificación para partes específicas del correo electrónico. Propiedades disponibles:
Propiedad | Tipo | Descripción |
---|---|---|
headerCharset | Text | Charset y codificación utilizados para las siguientes partes del correo electrónico: asunto, nombres de archivos adjuntos y atributo(s) del nombre del correo electrónico. Valores posibles: ver la tabla de charsets posibles a continuación |
bodyCharset | Text | Charset y codificación utilizados para el contenido html y el texto del cuerpo del correo electrónico. Valores posibles: ver la tabla de charsets posibles a continuación |
Charsets posibles:
Constante | Valor | Comentario |
---|---|---|
mail mode ISO2022JP | US-ASCII_ISO-2022-JP_UTF8_QP |
|
mail mode ISO88591 | ISO-8859-1 |
|
mail mode UTF8 | US-ASCII_UTF8_QP | headerCharset & bodyCharset: US-ASCII si es posible, de lo contrario UTF-8 & Quoted-printable (valor por defecto) |
mail mode UTF8 in base64 | US-ASCII_UTF8_B64 | headerCharset & bodyCharset: US-ASCII si es posible, de lo contrario UTF-8 & base64 |
Objeto devuelto
La función devuelve un objeto que describe el estado IMAP:
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 errores 4D (no se devuelve si se recibe una respuesta del servidor IMAP) | |
[].errcode | Number | Código de error 4D | |
[].message | Text | Descripción del error 4D | |
[].componentSignature | Text | Firma del componente interno que ha devuelto el error |
Ejemplo
Para guardar un correo electrónico en el buzón de borradores:
var $settings; $status; $msg; $imap: Object
$settings:=New object("host"; "domain.com"; "user"; "xxxx"; "password"; "xxxx"; "port"; 993)
$imap:=IMAP New transporter($settings)
$msg:=New object
$msg.from:="xxxx@domain.com"
$msg.subject:="Lorem Ipsum"
$msg.textBody:="Lorem ipsum dolor sit amet, consectetur adipiscing elit."
$msg.keywords:=New object
$msg.keywords["$seen"]:=True//flag the message as read
$msg.keywords["$draft"]:=True//flag the message as a draft
$status:=$imap.append($msg; "Drafts")
.authenticationMode
Historia
Lanzamiento | Modificaciones |
---|---|
17 R4 | Añadidos |
.authenticationMode : Text
Descripción
The .authenticationMode
property contains the authentication mode used to open the session on the mail server.
Por defecto, se utiliza el modo más seguro soportado por el servidor.
Los valores posibles son:
Valor | Constantes | Comentario |
---|---|---|
CRAM-MD5 | IMAP authentication CRAM MD5 | Autenticación utilizando el protocolo CRAM-MD5 |
LOGIN | IMAP authentication login | Autenticación utilizando el protocolo LOGIN |
OAUTH2 | IMAP authentication OAUTH2 | Autenticación utilizando el protocolo OAuth2 |
PLAIN | IMAP authentication plain | Autenticación utilizando el protocolo PLAIN |
.checkConnection()
Historia
Lanzamiento | Modificaciones |
---|---|
17 R4 | Añadidos |
.checkConnection() : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
Result | Object | <- | Estado de la conexión del objeto transportador |
Descripción
The .checkConnection()
function checks the connection using information stored in the transporter object, recreates the connection if necessary, and returns the status. Esta función permite verificar que los valores proporcionados por el usuario son válidos y coherentes.
Objeto devuelto
La función envía una solicitud al servidor de correo y devuelve un objeto que describe el estado del correo. Este objeto puede contener las siguientes propiedades:
Propiedad | Tipo | Descripción | |
---|---|---|---|
success | boolean | True si la verificación es exitosa, False en caso contrario | |
status | number | (sólo SMTP) Código de estado devuelto por el servidor de correo (0 en caso de un problema no relacionado con el procesamiento del correo) | |
statusText | text | Mensaje de estado devuelto por el servidor de correo, o último error devuelto en la pila de errores de 4D | |
errors | collection | Pila de errores 4D (no se devuelve si se recibe una respuesta del servidor de correo) | |
[ ].errCode | number | Código de error 4D | |
[ ].message | text | Descripción del error 4D | |
[ ].componentSignature | text | Firma del componente interno que ha devuelto el error |
.checkConnectionDelay
Historia
Lanzamiento | Modificaciones |
---|---|
18 R4 | Añadidos |
.checkConnectionDelay : Integer
Descripción
La propiedad .checkConnectionDelay
contiene el tiempo máximo (en segundos) permitido antes de verificar la conexión con el servidor. Si se supera este tiempo entre dos llamadas al método, se comprobará la conexión con el servidor. Por defecto, si la propiedad no se ha definido en el objeto server, el valor es de 300.
Atención: asegúrese de que el tiempo de espera definido sea menor que el tiempo de espera del servidor, de lo contrario el tiempo de espera del cliente será inútil.
.connectionTimeOut
Historia
Lanzamiento | Modificaciones |
---|---|
17 R5 | Añadidos |
.connectionTimeOut : Integer
Descripción
The .connectionTimeOut
property contains the maximum wait time (in seconds) allowed to establish a connection to the server. By default, if the property has not been set in the server object (used to create the transporter object with SMTP New transporter
, POP3 New transporter
, or IMAP New transporter
), the value is 30.
.copy()
Historia
Lanzamiento | Modificaciones |
---|---|
18 R5 | Añadidos |
.copy( msgsIDs : Collection ; destinationBox : Text ) : Object
.copy( allMsgs : Integer ; destinationBox : Text ) : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
msgsIDs | Collection | -> | Colección de identificadores únicos de mensajes (cadenas) |
allMsgs | Integer | -> | IMAP all : todos los mensajes en el buzón seleccionado |
destinationBox | Text | -> | Buzón para recibir mensajes copiados |
Result | Object | <- | Estado de la operación de copia |
Descripción
La función .copy()
copia los mensajes definidos por msgsIDs o allMsgs en la destinationBox en el servidor IMAP.
Puede pasar:
- en el parámetro msgsIDs, una colección que contiene los IDs únicos de los mensajes específicos a copiar, o
- en el parámetro allMsgs, la constante
IMAP all
(entero) para copiar todos los mensajes del buzón seleccionado.
El parámetro destinationBox permite pasar un valor texto con el nombre del buzón donde se colocarán las copias de los mensajes.
Objeto devuelto
La función devuelve un objeto que describe el estado IMAP:
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 errores 4D (no se devuelve si se recibe una respuesta del servidor IMAP) | |
[].errcode | Number | Código de error 4D | |
[].message | Text | Descripción del error 4D | |
[].componentSignature | Text | Firma del componente interno que ha devuelto el error |
Ejemplo 1
Para copiar una selección de mensajes:
var $server;$boxInfo;$status : Object
var $mailIds : Collection
var $transporter : 4D.IMAPTransporter
$server:=New object
$server.host:="imap.gmail.com" //Obligatorio
$server.port:=993
$server.user:="4d@gmail.com"
$server.password:="XXXXXXXX"
$transporter:=IMAP New transporter($server)
//seleccionar buzón
$boxInfo:=$transporter.selectBox("inbox")
//obtener la colección de IDs únicos de los mensajes
$mailIds:=$transporter.searchMails("subject \"4D new feature:\"")
// copiar los mensajes encontrados en el buzón "documents"
$status:=$transporter.copy($mailIds;"documents")
Ejemplo 2
Para copiar todos los mensajes del buzón actual:
var $server;$boxInfo;$status : Object
var $transporter : 4D.IMAPTransporter
$server:=New object
$server.host:="imap.gmail.com" //Obligatorio
$server.port:=993
$server.user:="4d@gmail.com"
$server.password:="XXXXXXXX"
$transporter:=IMAP New transporter($server)
//seleccionar buzón
$boxInfo:=$transporter.selectBox("inbox")
// copiar los mensajes encontrados en el buzón "documents"
$status:=$transporter.copy(IMAP all;"documents")
.createBox()
Historia
Lanzamiento | Modificaciones |
---|---|
19 | Añadidos |
.createBox( name : Text ) : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
name | Text | -> | Nombre del nuevo buzón |
Result | Object | <- | Estado de la operación de creación del buzón |
Descripción
La función .createBox()
crea un buzón con el nombre dado. Si el caracter separador de jerarquía del servidor IMAP aparece en otra parte del nombre del buzón, el servidor IMAP creará todos los nombre padre necesarios para crear el buzón dado.
En otras palabras, un intento de crear "Projects/IMAP/Doc" en un servidor en el que "/" es el carácter separador de jerarquía creará:
- Sólo el buzón "Doc" si "Projects" & "IMAP" ya existen.
- Los buzones "IMAP" & "Doc" si sólo existe "Projects".
- Los buzones "Projects" & "IMAP" & "Doc", si no existen.
En el parámetro name
, pase el nombre del nuevo buzón.
Objeto devuelto
La función devuelve un objeto que describe el estado IMAP:
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 errores 4D (no se devuelve si se recibe una respuesta del servidor IMAP) | |
[].errcode | Number | Código de error 4D | |
[].message | Text | Descripción del error 4D | |
[].componentSignature | Text | Firma del componente interno que ha devuelto el error |
Ejemplo
Para crear un nuevo buzón "Invoices":
var $pw : text
var $options; $transporter; $status : object
$options:=New object
$pw:=Request("Please enter your password:")
If(OK=1)
$options.host:="imap.gmail.com"
$options.user:="test@gmail.com"
$options.password:=$pw
$transporter:=IMAP New transporter($options)
$status:=$transporter.createBox("Invoices")
If ($status.success)
ALERT("Mailbox creation successful!")
Else
ALERT("Error: "+$status.statusText)
End if
End if
.delete()
Historia
Lanzamiento | Modificaciones |
---|---|
18 R5 | Añadidos |
.delete( msgsIDs : Collection ) : Object
.delete( allMsgs : Integer ) : Object
Parámetros | Tipo | Descripción | |
---|---|---|---|
msgsIDs | Collection | -> | Colección de identificadores únicos de mensajes (cadenas) |
allMsgs | Integer | -> | IMAP all : todos los mensajes en el buzón seleccionado |
Result | Object | <- | Estado de la operación de eliminación |
Descripción
La función .delete()
define el marcador "deleted" para los mensajes definidos en msgsIDs
o allMsgs
.
Puede pasar:
- en el parámetro
msgsIDs
, una colección contiene los IDs únicos de los mensajes específicos a eliminar, o - en el parámetro
allMsgs
, la constanteIMAP all
(entero) para borrar todos los mensajes en el buzón de correo seleccionado.
La ejecución de esta función no elimina realmente los mensajes. Los mensajes con el marcador "delete" pueden seguir siendo encontrados por la función .searchMails(). Los mensajes marcados se eliminan del servidor IMAP con la función .expunge()
o al seleccionar otro buzón o cuando el objeto transporter (creado con IMAP New transporter) es destruido.
Objeto devuelto
La función devuelve un objeto que describe el estado IMAP:
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 errores 4D (no se devuelve si se recibe una respuesta del servidor IMAP) | |
[].errcode | Number | Código de error 4D | |
[].message | Text | Descripción del error 4D | |
[].componentSignature | Text | Firma del componente interno que ha devuelto el error |
Ejemplo 1
Para eliminar una selección de mensajes:
var $server;$boxInfo;$status : Object
var $mailIds : Collection
var $transporter : 4D.IMAPTransporter
$server:=New object
$server.host:="imap.gmail.com" //Obligatorio
$server.port:=993
$server.user:="4d@gmail.com"
$server.password:="XXXXXXXX"
$transporter:=IMAP New transporter($server)
//seleccionar buzón
$boxInfo:=$transporter.selectBox("Inbox")
//obtener la colección de IDs únicos de los mensajes
$mailIds:=$transporter.searchMails("subject \"Reports\"")
// Borrar los mensajes seleccionados
$status:=$transporter.delete($mailIds)