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