public void TestConfigProviderConstructor() { var configProvider = new FixedConfigProvider(); configProvider.AddConfig(MailSenderConfig.MailSenderConfigKeys.SenderName, SenderName); configProvider.AddConfig(MailSenderConfig.MailSenderConfigKeys.SenderAddress, SenderAddress); configProvider.AddConfig(SmtpConfig.ConfigKeys.ServerName, ServerName); configProvider.AddConfig(SmtpConfig.ConfigKeys.Port, Port.ToString(CultureInfo.InvariantCulture)); configProvider.AddConfig(SmtpConfig.ConfigKeys.UserName, Username); configProvider.AddConfig(SmtpConfig.ConfigKeys.Password, Password); configProvider.AddConfig(SmtpConfig.ConfigKeys.EnableSsl, EnableSsl.ToString()); var config = new MailSenderConfig(configProvider); Assert.That(config.ServerName, Is.EqualTo(ServerName)); Assert.That(config.Port, Is.EqualTo(Port)); Assert.That(config.UserCredentials, Is.Not.Null); Assert.That(config.UserCredentials.UserName, Is.EqualTo(Username)); Assert.That(config.UserCredentials.Password, Is.EqualTo(Password)); Assert.That(config.Username, Is.EqualTo(Username)); Assert.That(config.Password, Is.EqualTo(Password)); Assert.That(config.Sender, Is.Not.Null); Assert.That(config.Sender.Address, Is.EqualTo(SenderAddress)); Assert.That(config.Sender.DisplayName, Is.EqualTo(SenderName)); Assert.That(config.SenderName, Is.EqualTo(SenderName)); Assert.That(config.SenderAddress, Is.EqualTo(SenderAddress)); Assert.That(config.EnableSsl, Is.EqualTo(EnableSsl)); }
protected override void Execute(CodeActivityContext context) { SmtpClient smtpClient = new SmtpClient(); if (!string.IsNullOrEmpty(SmtpHost.Get(context))) { smtpClient.Host = SmtpHost.Get(context); } if (SmtpPort.Get(context).HasValue) { smtpClient.Port = SmtpPort.Get(context).Value; } if (!string.IsNullOrEmpty(Username.Get(context))) { smtpClient.Credentials = new System.Net.NetworkCredential(Username.Get(context), Password.Get(context)); } smtpClient.EnableSsl = EnableSsl.Get(context); MailMessage mailMessage = new MailMessage(); mailMessage.To.Add(To.Get(context)); mailMessage.From = new MailAddress(From.Get(context)); mailMessage.Subject = Subject.Get(context); mailMessage.Body = Body.Get(context); mailMessage.IsBodyHtml = IsBodyHtml.Get(context); if (SendAsync.Get(context)) { smtpClient.SendAsync(mailMessage, null); } else { smtpClient.Send(mailMessage); } }
public void TestConstructorWithConfigProvider() { var configProvider = new FixedConfigProvider(); configProvider.AddConfig(SmtpConfig.ConfigKeys.ServerName, ServerName); configProvider.AddConfig(SmtpConfig.ConfigKeys.Port, Port.ToString(CultureInfo.InvariantCulture)); configProvider.AddConfig(SmtpConfig.ConfigKeys.UserName, Username); configProvider.AddConfig(SmtpConfig.ConfigKeys.Password, Password); configProvider.AddConfig(SmtpConfig.ConfigKeys.EnableSsl, EnableSsl.ToString()); var smtpConfig = new SmtpConfig(configProvider); CheckSmtpConfig(smtpConfig); }
/// <summary> /// This override supports SSL (which is required by gmail). /// /// <inheritdoc/> /// </summary> /// <param name="messageBody"></param> override protected void SendEmail(string messageBody) { if (!string.IsNullOrEmpty(messageBody) && messageBody.Contains("Skip AnjLab.FX.Log4Net.Appender.SmtpAppender")) { return; } // .NET 2.0 has a new API for SMTP email System.Net.Mail // This API supports credentials and multiple hosts correctly. // The old API is deprecated. // Create and configure the smtp client var smtpClient = new SmtpClient(); if (!string.IsNullOrEmpty(SmtpHost)) { smtpClient.Host = SmtpHost; } smtpClient.Port = Port; smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network; if (Authentication == SmtpAuthentication.Basic) { // Perform basic authentication smtpClient.Credentials = new System.Net.NetworkCredential(Username, Password); } else if (Authentication == SmtpAuthentication.Ntlm) { // Perform integrated authentication (NTLM) smtpClient.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; } if (!string.IsNullOrEmpty(EnableSsl)) { smtpClient.EnableSsl = "true".Equals(EnableSsl.ToLower()); } var mailMessage = new MailMessage { Body = messageBody, From = new MailAddress(From), Subject = Subject, Priority = Priority }; mailMessage.To.Add(To); // TODO: Send async? smtpClient.Send(mailMessage); }
private void AddDefaultXPackSettings() { if (!XPackInstalled) { return; } var securityEnabled = EnableSecurity.ToString().ToLowerInvariant(); var sslEnabled = EnableSsl.ToString().ToLowerInvariant(); AddSecuritySetting("enabled", securityEnabled); AddSecuritySetting("http.ssl.enabled", sslEnabled); AddSecuritySetting("transport.ssl.enabled", sslEnabled); if (EnableSecurity && EnableSsl) { AddSecuritySetting("authc.realms.pki1.enabled", sslEnabled, "<7.0.0-beta1"); AddSecuritySetting("authc.realms.pki.pki1.enabled", sslEnabled, ">=7.0.0-beta1"); } if (EnableSsl) { AddSecuritySetting("authc.token.enabled", "true", ">=5.5.0"); if (Version < "7.0.0-beta1") { Add("xpack.ssl.key", FileSystem.NodePrivateKey); Add("xpack.ssl.certificate", FileSystem.NodeCertificate); Add("xpack.ssl.certificate_authorities", FileSystem.CaCertificate); } else { Add("xpack.security.transport.ssl.key", FileSystem.NodePrivateKey); Add("xpack.security.transport.ssl.certificate", FileSystem.NodeCertificate); Add("xpack.security.transport.ssl.certificate_authorities", FileSystem.CaCertificate); Add("xpack.security.http.ssl.key", FileSystem.NodePrivateKey); Add("xpack.security.http.ssl.certificate", FileSystem.NodeCertificate); Add("xpack.security.http.ssl.certificate_authorities", FileSystem.CaCertificate); } } }
protected override void Execute(CodeActivityContext context) { try { MailMessage message = new MailMessage(); SmtpClient smtp = new SmtpClient(); if (string.IsNullOrEmpty(FromEmailAddress.Get(context))) { message.From = new MailAddress(SMTP_Email.Get(context)); } else { message.From = new MailAddress(FromEmailAddress.Get(context)); } foreach (string emailid in ToEmailAddress.Get(context).Trim().Split(';')) { message.To.Add(new MailAddress(emailid)); } if (!string.IsNullOrEmpty(CCEmailAddress.Get(context))) { foreach (string emailid in CCEmailAddress.Get(context).Trim().Split(';')) { message.CC.Add(new MailAddress(emailid)); } } if (!string.IsNullOrEmpty(BccEmailAddress.Get(context))) { foreach (string emailid in BccEmailAddress.Get(context).Trim().Split(';')) { message.Bcc.Add(new MailAddress(emailid)); } } message.Subject = Subject.Get(context).Trim(); message.IsBodyHtml = IsBodyHtml.Get(context); //to make message body as html message.Body = Body.Get(context).Trim(); Console.WriteLine("----------------------"); if (MailAttachments.Get(context) != null) { Console.WriteLine("Number of Attachments: " + MailAttachments.Get(context).Count.ToString()); foreach (string file in MailAttachments.Get(context)) { message.Attachments.Add(new Attachment(file)); } } smtp.Port = Convert.ToInt32(SMTP_Port.Get(context)); smtp.Host = SMTP_Server.Get(context).Trim(); smtp.EnableSsl = EnableSsl.Get(context); smtp.UseDefaultCredentials = false; smtp.Credentials = new System.Net.NetworkCredential(SMTP_Email.Get(context), SMTP_password.Get(context)); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.Send(message); IsSuccess.Set(context, true); Result.Set(context, string.Empty); } catch (Exception e) { Console.WriteLine("Error: " + e.Message + "--" + e.Source); IsSuccess.Set(context, false); Result.Set(context, "Error: " + e.Message); } }