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.
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.