Kopieren, Verschieben und Löschen von E-Mails mit IMAP

Manchmal müssen Sie bestimmte E-Mails in speziellen Postfächern speichern, und manchmal möchten Sie bestimmte E-Mails löschen, um Ihre INBOX aufgeräumt zu halten. Die drei neuen Funktionen, die wir dem IMAP-Transporter hinzugefügt haben, copy(), move()und delete() machen dies zu einem Kinderspiel!

HDI IMAPMailCopy

E-Mails verschieben oder kopieren

Um eine E-Mail zu verschieben, müssen Sie mit Ihrem Mailserver verbunden sein und ein Postfach ausgewählt haben. Für die folgenden Beispiele verwenden wir das Posteingangs-Postfach:

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

Um alle E-Mails, deren Betreff „4D new feature:“ enthält, von Ihrem aktuellen Postfach („inbox“) in ein Postfach mit dem Namen „New features“ zu verschieben, verwenden Sie die move() Funktion:

$mailIds:=$transporter.searchMails("subject \"4D new feature:\"")
// Move emails from selected mailbox to destination mailbox
$status :=$transporter.move($mailIds; "New features")

Die Mails werden dann nicht mehr im Posteingang, sondern im Postfach „Neue Funktionen “ angezeigt. Natürlich können Sie sie auch in beiden Postfächern behalten mit der copy() Funktion:

// Copy emails from selected mailbox to destination mailbox
$status:=$transporter.copy($mailIds; "Neue Funktionen")

Emails löschen

Wenn Sie alle E-Mails in Ihrem Postfach „Junk-E-Mail“ löschen möchten, wählen Sie einfach dieses Postfach aus und verwenden Sie das Schlüsselwort IMAP all mit der delete() Funktion:

$boxInfo:=$transporter.selectBox("Junk Email")
// delete all the email in the current mail box
$status :=$transporter.delete(IMAP all)

Beachten Sie, dass die delete() Funktion die Nachricht nur als gelöscht kennzeichnet. Sie wird erst dann vom IMAP-Server gelöscht, wenn Sie das Postfach wechseln oder die Verbindung beenden.

Laden Sie die obige HDI herunter, um die neuen Funktionen in Aktion zu sehen!

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.