Wir wissen, wie wichtig das Versenden von E-Mails ist und dass dies eine häufige Aufgabe in den heutigen Anwendungen ist. Viele Leute, die mit Office 365 arbeiten, haben uns nach einer API gefragt, um E-Mails über die Microsoft Graph API zu versenden. Die OAuth 2.0-Funktion war eine Voraussetzung für die Verbindung mit dem Microsoft-Server und für die Einführung von Befehlen zum Abrufen von Benutzerinformationen. Wir freuen uns, mit der E-Mail-Verwaltung fortzufahren, beginnend mit dem Befehl „Send Mail“.
Verbindung zum Konto
Bevor wir die E-Mail erstellen, werden wir das OAuth2-Verbindungsobjekt und das Office 365-Objekt erstellen.
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"))
VORBEREITEN einer E-Mail
Zuerst müssen Sie Ihr E-Mail-Objekt erstellen. 4D unterstützt jetzt den Message Resource Type von Microsoft Graph. Die Codebeispiele in diesem Beitrag und der HDI werden mit diesem neuen Objekt erstellt. Aber natürlich können Sie auch ein Mail-Objekt mit JMAP-Format verwenden, wenn Sie dies bevorzugen.
Beginnen wir mit der Angabe des Autors der E-Mail. Der Autor muss die E-Mail-Adresse des verbundenen Benutzers sein, daher verwenden wir $office365.user.getCurrent(), um dieses Attribut automatisch zu füllen:
$email:=New object
$email.from:=New object
$email.from.emailAddress:=New object
$email.from.emailAddress.address:=$office365.user.getCurrent().userPrincipalName
Wenn Sie eine Antwortadresse angeben möchten, die sich von der Adresse
Dann die Empfänger (mit unterschiedlichen Syntaxen):
$addressTo:=New object
$addressTo.emailAddress:=New object
$addressTo.emailAddress.email:="address1@mail.com"
$addressCC:=New object
$addressCC.emailAddress:=New object
$addressCC.emailAddress.email:="address2@mail.com"
$addressCC.emailAddress.name:="Stephen"
// Originating addresses
$email.toRecipients:=new collection($addressTo)
// Carbon Copy
$email.ccRecipients:=new collection($addressCC)
Als nächstes fügen wir einen Betreff hinzu:
$email.subject:="Hello world"
Und der Textkörper … Sie können zwei Typen angeben, einen Text:
$email.body:=New object
$email.body.content:="Test content mail"
$email.body.contentType:="text"
oder HTML:
$email.body:=New object
$email.body.content:="<html><body><h1>Test content mail </h1></body></html>"
$email.body.contentType:="html"
Sie können Ihrer E-Mail zusätzliche Informationen hinzufügen, z. B:
- eine Anfrage für eine Empfangsbestätigung:
$email.isDeliveryReceiptRequested:=True
- eine Anforderung für eine Lesebestätigung:
$email.isReadReceiptRequested:=True
- eine „geringe“, „normale“ oder „wichtige“ Wichtigkeit:
$email.importance:="high"
und andere, die Sie in der Dokumentation finden!
Eine Anlage erstellen
Um einen Anhang hinzuzufügen, müssen Sie ein Anhangsobjekt erstellen:
var $attachmentText : Text
$attachmentText:="Simple text attachement content"
var $attachment : Object
BASE64 ENCODE($attachmentText)
$attachment:=New object
$attachment["@odata.type"]:="#microsoft.graph.fileAttachment"
$attachment.contentId:=Generate UUID
$attachment.isInline:=False
$attachment.name:="attachment.txt"
$attachment.contentType:="text/plain"
$attachment.contentBytes:=$attachmentText
$attachment.size:=Length($attachmentText)
Fügen Sie es wie folgt zu Ihrer E-Mail hinzu:
$email.attachments:=New collection($attachment)
E-Mail senden
Jetzt, wo die E-Mail fertig ist, können wir sie mit der Funktion mail.send() des zuvor erstellten $office365-Objekts versenden:
$status:=$office365.mail.send($email)
Und schon ist Ihre E-Mail verschickt!
Schauen Sie sich diese Funktion in Aktion mit dem HDI oben und die Dokumentation für weitere Details!