/// <summary> /// Send the email to the email server for processing /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <param name="subject"></param> /// <param name="properties">Email properties. Each property is defined as a key/value item. A property can for instance be body/{value] and then that will be parsed into the layout at the place of the %body% tag</param> /// <param name="layout">The layout name. For available names, open the database and look inside the table RDN_EmailServer_EmailLayouts</param> /// <param name="priority"></param> public static bool SendEmail(string from, string displayNameFrom, string to, string subject, Dictionary<string, string> properties, EmailServerLayoutsEnum layout = EmailServerLayoutsEnum.Default, EmailPriority priority = EmailPriority.Important) { try { var dc = new ManagementContext(); if (layout == EmailServerLayoutsEnum.TextMessage) priority = EmailPriority.Important; var email = new EmailSendItem(priority); email.EmailLayout = layout.ToString(); email.From = from; email.DisplayNameFrom = displayNameFrom; email.Reciever = to; email.Subject = subject; foreach (var property in properties) email.Properties.Add(new EmailProperty { Key = property.Key, Value = property.Value }); if (!String.IsNullOrEmpty(email.Reciever)) dc.EmailServer.Add(email); int c = dc.SaveChanges(); return c > 0; } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType(), additionalInformation: to); } return false; }
/// <summary> /// Send the email to the email server for processing /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <param name="subject"></param> /// <param name="body"></param> /// <param name="priority"></param> public static void SendEmail(string from, string displayNameFrom, string to, string subject, string body, EmailPriority priority = EmailPriority.Important) { try { var dc = new ManagementContext(); var email = new EmailSendItem(priority); email.EmailLayout = "Default"; email.From = from; email.DisplayNameFrom = displayNameFrom; email.Reciever = to; email.Subject = subject; email.Properties.Add(new EmailProperty { Key = "body", Value = body }); if (!String.IsNullOrEmpty(email.Reciever)) dc.EmailServer.Add(email); dc.SaveChanges(); } catch (Exception exception) { ErrorDatabaseManager.AddException(exception, exception.GetType()); } }