Někdy potřebujete najít všechny nepřečtené e-maily na poštovním serveru a stáhnout je, abyste je mohli zobrazit klientovi. Na adrese searchMails Metoda to udělá za vás! Používá protokol IMAP pro vyhledávání, které probíhá výhradně na straně serveru. To znamená, že je rychlý a umožňuje načíst pouze požadované e-maily.
vyhledávání e-mailů
Chcete-li provést vyhledávání e-mailů, musíte být připojeni k poštovnímu serveru a mít vybranou poštovní schránku. Pro příklady použijeme schránku Doručená pošta:
$transporter:=IMAP New transporter($serverInfo)
)
$boxInfo :=$transporter.selectBox("inbox"
Chcete-li vyhledávat ve schránce Doručená pošta, odešlete dotaz na server IMAP. Chcete-li vyhledat všechny nepřečtené e-maily, vytvořte požadavek s příznakem „nepřečteno “ a odešlete jej na server prostřednictvím protokolu searchMails metody přenosu IMAP:
$mailIds:=$transporter.searchMails("nepřečtené ")
Složitější vyhledávání můžete provádět kombinací několika příznaků. Například pokud chcete vyhledat všechny nepřečtené e-maily, které byly přijaty z adresy „imap.test@4d.com“ od 1. srpna 2020:
$mailIds:=$transporter.searchMails("unread SINCE \"1-Aug-2020\" FROM \"imap.test@4d.com\"))
Úplný seznam dostupných příznaků naleznete na stránce searchMails dokumentaci k metodě.
Na oplátku za toto vyhledávání získáte kolekci obsahující všechna ID e-mailů, která odpovídají vašemu požadavku.
stahování e-mailů
Chcete-li stáhnout všechny nalezené e-maily, můžete použít novou metodu getMails metodu, která v parametru přebírá kolekci ID e-mailů :
$mails:=$transporter.getMails($mailsIds)
A je to! Získali jste všechny nepřečtené e-maily přijaté z adresy „imap.test@4d.com“ od 1. srpna 2020, a to jen na několika řádcích kódu.