Um auf die Daten in Microsoft 365 zuzugreifen, wie z.B. E-Mails, verzichtet Microsoft auf die Basic-Authentifizierung für IMAP und POP3 und fördert zunehmend die Graph API.
Ab v19 R8 stehen in 4D NetKit neue integrierte Befehle zur Verfügung, um Microsoft 365 E-Mail-Vorgänge wie Kopieren, Verschieben, Beantworten und Löschen von E-Mails nativ zu automatisieren.
Kontoverbindung
Bevor Sie eine E-Mail erstellen, legen Sie das OAuth2-Verbindungsobjekt und das Office 365-Objekt an.
var $oAuth2: cs.NetKit.OAuth2Provider
var $office365 : cs.NetKit.Office365
$oAuth2:=cs.NetKit.OAuth2Provider.new($param)
$office365:=cs.NetKit.Office365.new($oAuth2;\
New object("mailType"; "Microsoft"))
E-Mails verschieben oder kopieren
Um eine E-Mail von einem Ordner in einen anderen zu verschieben, müssen Sie Ihre mailId und folderId an die Funktion .move() übergeben:
$status:=$office365.mail.move($mailId; $folderId)
Um eine E-Mail von einem Ordner in einen anderen zu kopieren, müssen Sie Ihre mailId und folderId an die Funktion .copy() übergeben:
$status:=$office365.mail.copy($mailId; $folderId)
Auf eine E-Mail antworten
Um auf eine E-Mail zu antworten und eine Konversation zu erstellen, müssen Sie den Text, den Sie senden möchten, und die mailId der ursprünglichen E-Mail an die Funktion .reply() übergeben:
$reply:=New object
// Text that will be sent as reply
$reply.comment:="Thank you for your message"
$status:=$office.mail.reply($reply; $mails.mailId)
Anhängen einer E-Mail
Mit der Funktion .append() können Sie einen E-Mail-Entwurf erstellen und in einem Ordner Ihrer Wahl speichern:
// Send the email
$status:=$office365.mail.append($draft; $folder.id)
Eine E-Mail löschen
Um eine E-Mail zu löschen, müssen Sie deren ID an die Funktion .delete() übergeben:
$office365.mail.delete($mailId)
Schauen Sie sich diese Funktion mit dem obigen HDI an und lesen Sie die Dokumentation für weitere Details!
Weitere Befehle zur E-Mail-Verwaltung finden Sie in diesem Blogbeitrag.