Click or drag to resize

OutputEmailDeviceMSGraphScriptTemplate Field

Default script template for Microsoft Graph

Namespace: Seal.Model
Assembly: SealLibrary (in SealLibrary.dll) Version: 8.3.0.0+c4d725cbae26375217e6c77c92a07fffaea6377d
Syntax
C#
public const string MSGraphScriptTemplate = "@using Microsoft.Graph.Me.SendMail\r\n@using Microsoft.Graph.Models\r\n@using Microsoft.Graph\r\n@using Azure.Identity\r\n@using System.IO\r\n\r\n@{\r\n    OutputEmailDevice.EmailDefinition def = Model;\r\n    var device = def.device;\r\n\r\n    //Sample to be modified to send an Email via MS Graph\r\n\r\n    var scopes = new[] { ".default" };\r\n    // TenantId\r\n    var tenant = "23798d76-74cd-4bfb-9f52-fb3495af6b8b";\r\n    // ClientId\r\n    var client = "07399128-13f4-4523-8989-3d141598b658";\r\n    // UserId\r\n    var user = "e5c47ab9-54c7-4e51-8626-0f02a72b6dd7";\r\n    \r\n    // Credential\r\n    var credentials = new ClientSecretCredential(tenant, client,  device.ClearAzureSecret);\r\n\r\n    // Graph client instance\r\n    var graphClient = new GraphServiceClient(credentials, scopes);\r\n\r\n    // Recipients\r\n    var to = new List<Recipient>();\r\n    var cc = new List<Recipient>();\r\n    var bcc = new List<Recipient>();\r\n    foreach (var addr in Helper.GetEmailAddresses(def.to)) to.Add(new Recipient() { EmailAddress = new Microsoft.Graph.Models.EmailAddress() { Address = addr } });\r\n    foreach (var addr in Helper.GetEmailAddresses(def.cc)) cc.Add(new Recipient() { EmailAddress = new Microsoft.Graph.Models.EmailAddress() { Address = addr } });\r\n    foreach (var addr in Helper.GetEmailAddresses(def.bcc)) bcc.Add(new Recipient() { EmailAddress = new Microsoft.Graph.Models.EmailAddress() { Address = addr } });\r\n\r\n    // Body\r\n    var messageBody = new ItemBody\r\n    {\r\n        Content = def.body,\r\n        ContentType = def.isHtmlBody ? BodyType.Html : BodyType.Text\r\n    };\r\n\r\n    // Message\r\n    var message = new Microsoft.Graph.Models.Message\r\n    {\r\n        From = new Recipient() { EmailAddress = new Microsoft.Graph.Models.EmailAddress() { Address = def.sender } },\r\n        Subject = def.subject,\r\n        Body = messageBody,\r\n        ToRecipients = to,\r\n        CcRecipients = cc,\r\n        BccRecipients = bcc,\r\n    };\r\n\r\n    // Attachment\r\n    if (File.Exists(def.attachPath))\r\n    {\r\n        // Create the message with attachment.\r\n        byte[] contentBytes = File.ReadAllBytes(def.attachPath);\r\n        message.Attachments = new List<Attachment>();\r\n        message.Attachments.Add(new FileAttachment\r\n        {\r\n            OdataType = "#microsoft.graph.fileAttachment",\r\n            ContentBytes = contentBytes,\r\n            Name = def.attachName\r\n        });\r\n    }\r\n\r\n    var body = new Microsoft.Graph.Users.Item.SendMail.SendMailPostRequestBody\r\n    {\r\n        Message = message,\r\n        SaveToSentItems = true,\r\n    };\r\n\r\n    // PostAsync method call\r\n    await graphClient.Users[user].SendMail.PostAsync(body);\r\n}\r\n"

Field Value

String
See Also