Ab 4D v20 R4 fügen wir dem Gmail Befehlssatz ein Duo von leistungsstarken Erweiterungen hinzu.
Die erste Funktion ermöglicht es Ihnen, mehrere E-Mails gleichzeitig abzurufen, und die zweite ermöglicht es Ihnen,E-Mail-Labels zu verwalten.
Lesen Sie weiter, um alle Details zu erfahren.
Kontoverbindung
Bevor wir eine E-Mail erstellen, erstellen wir ein OAuth 2.0-Verbindungsobjekt und ein Google-Objekt.
var $oAuth2 : cs.NetKit.OAuth2Provider
var $google : cs.NetKit.Google
$oAuth2:=cs.NetKit.OAuth2Provider.new($credentials)
$google:=cs.NetKit.Google.new($oAuth2; {mailType: "JMAP"})
Hinzufügen oder Entfernen von E-Mail-Labels
Labels werden verwendet, um E-Mails zu kategorisieren. Sie sind vergleichbar mit Ordnern in anderen E-Mail-Systemen. Das Besondere an Labels ist jedoch, dass Sie derselben E-Mail mehrere Labels zuweisen können. Dieses Label kann ein benutzerdefiniertes oder ein System-Label wie INBOX, SPAM, TRASH, UNREAD, STARRED oder IMPORTANT sein. Eine E-Mail kann zum Beispiel mit den Funktionen „Arbeit“ und „WICHTIG“ gekennzeichnet werden.update() gekennzeichnet werden:
$status:=$google.mail.update($mailIds; {addLabelIds: ["Work"; "IMPORTANT"]})
Auf die gleiche Weise können Sie die Kennzeichnung von E-Mails mit der Funktion .update() Funktion entfernen. Zum Beispiel, wenn Sie die Kennzeichnung UNGELESEN entfernen möchten:
$status:=$google.mail.update($mailIds; {removeLabelIds: ["UNREAD"]})
Mehrere E-Mails herunterladen
Wenn Sie mehrere E-Mails abrufen müssen, können Sie dies mit der Funktion .getMails() Funktion erledigen:
$mailIds:=$google.mail.getMailIds({labelIds: ["INBOX","UNREAD"]})
// Gets the email according to the collection of mail ID
$mails:=$google.mail.getMails($mailIds)
Die Funktion .getMails() kann nur 100 E-Mails auf einmal abrufen. Wenn Sie mehr E-Mails abrufen möchten, rufen Sie diese Funktion mehrmals auf.
Zusammenfassend lässt sich sagen, dass dieses Feature Release den Gmail Befehlssatz von 4D bereichert, indem es erweiterte Möglichkeiten wie den gleichzeitigen Abruf von E-Mails und eine effiziente Verwaltung von Labels bietet.
Für eine detaillierte Implementierung lesen Sie bitte die Dokumentation.