OutputEmailDeviceMSGraphScriptTemplate Field |
Default script template for Microsoft Graph
Namespace: Seal.ModelAssembly: SealLibrary (in SealLibrary.dll) Version: 8.3.0.0+c4d725cbae26375217e6c77c92a07fffaea6377d
Syntaxpublic 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