public static SmtpClient GenerateSmtpClient(this SmtpConfigurationEntity config) { if (config.DeliveryMethod != SmtpDeliveryMethod.Network) { return(new SmtpClient { DeliveryFormat = config.DeliveryFormat, DeliveryMethod = config.DeliveryMethod, PickupDirectoryLocation = config.PickupDirectoryLocation, }); } else { SmtpClient client = EmailLogic.SafeSmtpClient(config.Network.Host, config.Network.Port); client.DeliveryFormat = config.DeliveryFormat; client.UseDefaultCredentials = config.Network.UseDefaultCredentials; client.Credentials = config.Network.Username.HasText() ? new NetworkCredential(config.Network.Username, config.Network.Password) : null; client.EnableSsl = config.Network.EnableSSL; foreach (var cc in config.Network.ClientCertificationFiles) { client.ClientCertificates.Add(cc.CertFileType == CertFileType.CertFile ? X509Certificate.CreateFromCertFile(cc.FullFilePath) : X509Certificate.CreateFromSignedFile(cc.FullFilePath)); } return(client); } }
public EmailMessageBuilder(EmailTemplateEntity template, Entity entity, ISystemEmail systemEmail) { this.template = template; this.entity = entity; this.systemEmail = systemEmail; this.queryName = QueryLogic.ToQueryName(template.Query.Key); this.qd = DynamicQueryManager.Current.QueryDescription(queryName); this.smtpConfig = EmailTemplateLogic.GetSmtpConfiguration == null ? null : EmailTemplateLogic.GetSmtpConfiguration(template); }