E-Mails mit IMAP-Protokoll suchen

Manchmal müssen Sie alle ungelesenen E-Mails auf Ihrem Mailserver finden und herunterladen, um sie Ihrem Client anzuzeigen. Die searchMails Methode erledigt das für Sie! Sie verwendet das IMAP-Suchprotokoll, das vollständig auf der Serverseite ausgeführt wird. Das bedeutet, dass die Suche schnell ist und Sie nur die gewünschten E-Mails abrufen können.

HDI IMAPMailsSearching

E-Mail-Suche

Um eine E-Mail-Suche durchzuführen, müssen Sie mit Ihrem Mailserver verbunden sein und ein Postfach ausgewählt haben. In den Beispielen verwenden wir das Postfach Posteingang:

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

Um im Posteingang zu suchen, senden Sie eine Anfrage an den IMAP-Server. Um nach allen ungelesenen E-Mails zu suchen, erstellen Sie eine Abfrage mit dem Kennzeichen „ungelesen“ und senden Sie diese über die searchMails Methode Ihres IMAP-Transporters an den Server:

$mailIds:=$transporter.searchMails("ungelesen")

Sie können komplexere Suchen durchführen, indem Sie mehrere Flags kombinieren. Wenn Sie zum Beispiel nach allen ungelesenen E-Mails suchen möchten, die seit dem 1. August 2020 von „imap.test@4d.com“ eingegangen sind :

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

Eine vollständige Liste der verfügbaren Flags finden Sie in der searchMails Dokumentation der Methode.

Im Gegenzug für diese Suche erhalten Sie eine Sammlung mit allen E-Mail-IDs, die Ihrer Anfrage entsprechen.

emails herunterladen

Um alle gefundenen Mails herunterzuladen, können Sie die neue getMails Methode verwenden, die eine Sammlung von E-Mail-IDs als Parameter entgegennimmt:

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

Das war’s! Sie haben alle Ihre ungelesenen E-Mails, die Sie seit dem 1. August 2020 von „imap.test@4d.com“ erhalten haben , in nur wenigen Codezeilen erhalten .

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.