OutputEmailDeviceMimeKitScriptTemplate Field |
Default script template for MimeKit
Namespace: Seal.ModelAssembly: SealLibrary (in SealLibrary.dll) Version: 10.0.1.0+a44cd3a7f03c2bf3cdbd971a878c679e40bed08a
Syntaxpublic const string MimeKitScriptTemplate = "@using MimeKit\n@using MailKit.Net.Smtp\n@using MailKit.Security\n\n@{\n OutputEmailDevice.EmailDefinition def = Model;\n var device = def.device;\n\n var message = new MimeMessage();\n\n // From\n message.From.Add(MailboxAddress.Parse(def.sender));\n\n // To, CC, Bcc\n Helper.AddEmailAddresses(message.To, def.to);\n Helper.AddEmailAddresses(message.Cc, def.cc);\n Helper.AddEmailAddresses(message.Bcc, def.bcc);\n Helper.AddEmailAddresses(message.ReplyTo, def.replyTo);\n\n message.Subject = def.subject;\n\n // Body\n var bodyBuilder = new BodyBuilder();\n if (def.isHtmlBody)\n {\n bodyBuilder.HtmlBody = def.body;\n }\n else\n {\n bodyBuilder.TextBody = def.body;\n }\n\n // Attachment\n if (!string.IsNullOrEmpty(def.attachPath))\n {\n var attachment = bodyBuilder.Attachments.Add(def.attachPath);\n if (!string.IsNullOrEmpty(def.attachName))\n {\n attachment.ContentDisposition.FileName = def.attachName;\n attachment.ContentType.Name = def.attachName;\n }\n }\n\n message.Body = bodyBuilder.ToMessageBody();\n\n // Send email\n using (var client = new SmtpClient())\n {\n client.Timeout = device.Timeout;\n client.Connect(device.Server, device.Port, device.SecureSocketOptions);\n\n if (!string.IsNullOrEmpty(device.UserName))\n {\n client.Authenticate(device.UserName, device.ClearPassword);\n }\n\n client.Send(message);\n client.Disconnect(true);\n }\n}\n"Field Value
String
See Also