Pesquisar e-mails com protocolo IMAP

Tradução automática de Deepl

Por vezes é necessário encontrar todos os e-mails não lidos no seu servidor de correio e descarregá-los para os mostrar ao seu cliente. O searchMails o método fá-lo por si! Utiliza o protocolo de pesquisa IMAP, que é feito inteiramente no lado do servidor. Isto significa que é rápido e permite recuperar apenas os emails desejados.

HDI IMAPMailsSearching

pesquisa de e-mail

Para efectuar uma pesquisa de correio electrónico, deve estar ligado ao seu servidor de correio e ter uma caixa de correio seleccionada. Para os exemplos, vamos utilizar a caixa de correio electrónico Inbox:

$transporter:=IMAP New transporter($serverInfo)
$boxInfo :=$transporter.selectBox("caixa de entrada")

Para pesquisar dentro da caixa de correio electrónico Inbox, envie uma consulta para o servidor IMAP. Para pesquisar todos os e-mails não lidos, crie um pedido com a bandeira “não lido” e envie-o para o servidor através do searchMails método do seu transportador IMAP:

$mailIds:=$transporter.searchMails("não lido")

Pode efectuar buscas mais complexas combinando várias bandeiras. Por exemplo, se quiser pesquisar todos os e-mails não lidos que foram recebidos de “imap.test@4d.com” desde 1 de Agosto de 2020:

$mailIds:=$transporter.searchMails("unread SINCE \"1-Aug-2020\" FROM " "")

Para uma lista completa das bandeiras disponíveis, consulte o searchMails documentação do método.

Em troca desta pesquisa, receberá uma colecção contendo todas as identificações de correio electrónico que correspondam ao seu pedido.

descarregar e-mails

Para descarregar todos os e-mails encontrados, pode utilizar o novo getMails método que toma uma colecção de IDs de correio no parâmetro :

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

Aí está! Obteve todos os seus e-mails não lidos recebidos de “imap.test@4d.com” desde 1 de Agosto de 2020, em apenas algumas linhas de código.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.