Ricerca di e-mail con protocollo IMAP

Tradotto automaticamente da Deepl

A volte è necessario trovare tutte le e-mail non lette sul server di posta e scaricarle per mostrarle al client. Il metodo searchMails lo fa per voi! Utilizza il protocollo di ricerca IMAP, che viene eseguito interamente sul lato server. Ciò significa che è veloce e consente di recuperare solo le e-mail desiderate.

HDI IMAPMailRicerca

Ricerca e-mail

Per eseguire una ricerca di e-mail, è necessario essere connessi al server di posta e aver selezionato una casella e-mail. Per gli esempi, utilizzeremo la casella di posta in arrivo:

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

Per cercare all’interno della casella di posta in arrivo, inviare una query al server IMAP. Per cercare tutti i messaggi non letti, creare una richiesta con il flag “non letto” e inviarla al server con il metodo searchMails del proprio transporter IMAP:

$mailIds:=$transporter.searchMails("non letto")

È possibile effettuare ricerche più complesse combinando diversi flag. Ad esempio, se si desidera cercare tutte le e-mail non lette ricevute da “imap.test@4d.com” dal 1° agosto 2020:

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

Per un elenco completo dei flag disponibili, consultare la documentazione del metodo searchMails per la documentazione del metodo.

In cambio di questa ricerca, si otterrà un insieme contenente tutti gli ID delle email che corrispondono alla richiesta.

scaricare le email

Per scaricare tutte le email trovate, si può usare il nuovo metodo getMails che prende come parametro un insieme di ID di messaggi di posta elettronica:

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

Ecco fatto! In poche righe di codice si sono ottenute tutte le e-mail non lette ricevute da “imap.test@4d.com” dal 1° agosto 2020.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.