IMAP: Mailbox-ID und Mail-Schlüsselwörter

4D v20 bringt zwei sehr nützliche Funktionen für IMAP Transporter!

Die Interaktion mit einigen IMAP-Mail-Servern und -Clients erfordert die Verwaltung von benutzerdefinierten Schlüsselwörtern in Mails und die Nutzung einiger ihrer spezifischen Funktionen.

Wir haben auch die Unterstützung der Mailbox-ID in unserem IMAP-Transporter hinzugefügt, so dass Sie eine bestimmte Mailbox identifizieren können, auch wenn sie umbenannt wurde.

Benutzerdefinierte Schlüsselwörter

Da einige IMAP-Server die Möglichkeit bieten, benutzerdefinierte Schlüsselwörter zu definieren, akzeptieren die Funktionen .addFlags( ) und .removeFlags ( ) jetzt auch beliebige Wörter als Schlüsselwörter:

$transporter:=IMAP New transporter($parameters)
$boxInfo:=$transporter.selectBox("INBOX")

$mailIds:=["122";"123";"124"]
// Custom keyword
$keywords:={"myKeyword":true}
// apply the custom keyword to the collection of mail
$status:=$transporter.addFlags($mailIds; $keywords)

und die Funktion .selectBox ( ) gibt die Liste der im aktuellen Postfach zulässigen Flags über die Attribute .flags und .permanentFlags zurück:

$selectBox:=$transporter.selectBox("INBOX")
//$selectBox={name:INBOX,
//mailCount:124,
//mailRecent:0,
//id:644737301,
//flags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword,
//permanentFlags:\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing $Phishing myKeyword \\*} 

Mailbox-Id

Da der Postfachname allein nicht ausreicht, um zu wissen, ob das ausgewählte Postfach umbenannt oder entfernt und neu erstellt wurde, fügen wir die Id zu den Informationen hinzu, die von den Funktionen .selectBox ( ) und .getBoxInfo ( ) des IMAP-Transporters zurückgegeben werden:

$boxInfo:=$transporter.getBoxInfo("INBOX")
//{name:INBOX,
//mailCount:125,
//mailRecent:0,
//id:644737301}

Schauen Sie sich diese Funktionen in der Dokumentation für weitere Details an!

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.