IMAP: ID de buzón y palabras clave del correo

¡4D v20 trae dos funcionalidades muy útiles para los transportadores IMAP!

Interactuar con algunos servidores y clientes de correo IMAP requiere manejar palabras clave personalizadas en los correos, y beneficiarse de algunas de sus características específicas.

También hemos añadido el soporte del ID de buzón en nuestro transportador IMAP para que pueda identificar un buzón determinado incluso después de cambiarle el nombre.

Palabras clave personalizadas

Dado que algunos servidores IMAP permiten al usuario definir palabras clave personalizadas, las funciones .addFlags () y .removeFlags () aceptan ahora palabras arbitrarias como palabras clave:

$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")

$mailIds:=["122";"123";"124"]
// Custom keyword
$keywords:={"myKeyword":true}
// apply the custom keyword to the collection of mail
$status:=$transporter.addFlags($mailIds; $keywords)

y la función .selectBox () devuelve la lista de indicadores permitidos en el buzón actual a través de los atributos .flags y .permanentFlags:

$selectBox:=$transporter.selectBox("INBOX")
//$selectBox={name:INBOX,
//mailCount:124,
//mailRecent:0,
//id:644737301,
//flags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword,
//permanentFlags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword \\*} 

Id del buzón

Dado que el nombre del buzón no es suficiente por sí solo para saber si el buzón seleccionado ha sido renombrado o eliminado y vuelto a crear, añadimos el ID a la información devuelta por la función .selectBox () y la función .getBoxInfo() del transportador IMAP:

$boxInfo:=$transporter.getBoxInfo("INBOX")
//{name:INBOX,
//mailCount:125,
//mailRecent:0,
//id:644737301}

Consulte estas funciones en la documentación para obtener más detalles.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se unió al equipo de 4D Program en noviembre de 2016. Como Product Owner, está a cargo de escribir las historias de usuario y luego traducirlas a especificaciones funcionales. Su papel es también asegurarse de que la implementación de la característica entregada cumple con las necesidades del cliente. Después de obtener una licenciatura en Ciencias de la Computación en el CNAM, Fabrice se unió a una pequeña empresa de publicación de software como desarrollador Windev. A continuación, trabajó para diferentes empresas del sector industrial y comercial como desarrollador de Windev y de la web, así como asesor técnico de nuevas funcionalidades.