A partir de 4D v20 R4, estamos añadiendo un dúo de poderosas mejoras al conjunto de comandos Gmail.
La primera funcionalidad le permite recuperar varios correos electrónicos simultáneamente y la segunda le permitirá gestionar correos electrónicos de etiquetas.
Sigue leyendo para conocer todos los detalles.
Conexión a la cuenta
Antes de crear un correo electrónico, crearemos un objeto de conexión OAuth 2. 0 y un objeto Google.
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($credentials)
$google:=cs.NetKit.Google.new($oAuth2; {mailType: "JMAP"})
Añadir o eliminar etiquetas de correo electrónico
Las etiquetas se utilizan para categorizar los correos electrónicos. Son similares a las carpetas de otros sistemas de correo electrónico. Pero lo especial de las etiquetas es que puedes asignar varias etiquetas al mismo correo electrónico. Estas etiquetas pueden ser personalizadas o del sistema, como INBOX, SPAM, TRASH, UNREAD, STARRED o IMPORTANT. Por ejemplo, un correo electrónico puede etiquetarse como «Trabajo» e «IMPORTANTE» con la función .update():
$status:=$google.mail.update($mailIds; {addLabelIds: ["Work"; "IMPORTANT"]})
Del mismo modo, puede eliminar las etiquetas de los correos electrónicos con la función .update(). Por ejemplo, si desea eliminar la etiqueta UNREAD:
$status:=$google.mail.update($mailIds; {removeLabelIds: ["UNREAD"]})
Descargar varios mensajes
Si tiene que recuperar varios mensajes de correo electrónico, puede hacerlo de una vez con la función .getMails():
$mailIds:=$google.mail.getMailIds({labelIds: ["INBOX","UNREAD"]})
// Gets the email according to the collection of mail ID
$mails:=$google.mail.getMails($mailIds)
La función .getMails() sólo puede obtener 100 mensajes a la vez. Si necesita obtener más correos, llame a esta función varias veces.
En resumen, este lanzamiento de funciones enriquece el conjunto de comandos Gmail de 4D, ofreciendo capacidades mejoradas como la recuperación simultánea de correos electrónicos y la gestión eficiente de etiquetas.
Para una implementación detallada, consulte la documentación.