Click or drag to resize

OutputEmailDeviceSendGridScriptTemplate Field

Default script template for SendGrid

Namespace: Seal.Model
Assembly: SealLibrary (in SealLibrary.dll) Version: 10.0.1.0+a44cd3a7f03c2bf3cdbd971a878c679e40bed08a
Syntax
C#
public 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