OutputEmailDeviceSendGridScriptTemplate Field |
Default script template for SendGrid
Namespace: Seal.ModelAssembly: SealLibrary (in SealLibrary.dll) Version: 10.0.1.0+a44cd3a7f03c2bf3cdbd971a878c679e40bed08a
Syntaxpublic const string SendGridScriptTemplate = "@using System.IO\n@using SendGrid\n@using SendGrid.Helpers.Mail\n\n@{\n OutputEmailDevice.EmailDefinition def = Model;\n var device = def.device;\n\n\tvar sendGridClient = new SendGridClient(device.ClearSendGridKey);\n\n //Create message\n\tvar msg = new SendGridMessage()\n\t{\n\t\tFrom = new EmailAddress(def.sender),\n\t\tSubject = def.subject,\n\t\tPlainTextContent = def.isHtmlBody ? "" : def.body,\n\t\tHtmlContent = !def.isHtmlBody ? "" : def.body,\n\t\tReplyTo = new EmailAddress(def.replyTo)\n\t};\n\n\tmsg.SetSubject(def.subject);\n\tforeach (var addr in Helper.GetEmailAddresses(def.to)) msg.AddTo(addr);\n\tforeach (var addr in Helper.GetEmailAddresses(def.cc)) msg.AddCc(addr);\n\tforeach (var addr in Helper.GetEmailAddresses(def.bcc)) msg.AddBcc(addr);\n\n\tif (!string.IsNullOrEmpty(def.attachPath))\n\t{\n\t\tvar bytes = File.ReadAllBytes(def.attachPath);\n\t\tvar file = Convert.ToBase64String(bytes);\n\t\tmsg.AddAttachment(def.attachName, file);\n\t}\n\n //Send message\n\tvar response = sendGridClient.SendEmailAsync(msg).Result;\n \n\tif (!response.IsSuccessStatusCode) {\n throw new Exception($"Error sending Email through SendGrid to {def.to}\r\n{response.Body.ReadAsStringAsync().Result}.");\n }\n}\n"Field Value
String
See Also