Buscar correos electrónicos con el protocolo IMAP

Traducido automáticamente de Deepl

A veces necesitas encontrar todos los correos no leídos en tu servidor de correo y descargarlos para mostrarlos a tu cliente. El método searchMails lo hace por ti. Utiliza el protocolo de búsqueda IMAP que se realiza completamente en el lado del servidor. Esto significa que es rápido y le permite recuperar sólo los correos electrónicos deseados.

HDI IMAPMailsBúsqueda

búsqueda de correo electrónico

Para realizar una búsqueda de correo electrónico, debe estar conectado a su servidor de correo y tener un buzón seleccionado. Para los ejemplos, utilizaremos el buzón de entrada:

$transporter:=IMAP New transporter($serverInfo)
$boxInfo :=$transporter.selectBox("inbox")

Para buscar dentro del buzón de entrada, envíe una consulta al servidor IMAP. Para buscar todos los correos electrónicos no leídos, cree una solicitud con la bandera «unread » y envíela al servidor mediante el método searchMails de su transportador IMAP:

$mailIds:=$transporter.searchMails("no leído«)

Puede realizar búsquedas más complejas combinando varios indicadores. Por ejemplo, si desea buscar todos los correos electrónicos no leídos que se recibieron de «imap.test@4d.com» desde el 1 de agosto de 2020:

$mailIds:=$transporter.searchMails("unread SINCE \"1-Aug-2020\" FROM \"imap.test@4d.com\"")

Para una lista completa de los indicadores disponibles, consulte la documentación del método searchMails documentación del método.

A cambio de esta búsqueda, obtendrá una colección que contiene todos los ID de correo electrónico que coinciden con su solicitud.

descargar correos electrónicos

Para descargar todos los correos encontrados, puede utilizar el nuevo método getMails que toma una colección de IDs de correos en el parámetro :

$mails:=$transporter.getMails($mailsIds)

Ya está. Has obtenido todos tus correos electrónicos no leídos recibidos desde «imap.test@4d.com» desde el 1 de agosto de 2020, en sólo unas pocas líneas de código.

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.