/// <summary> /// /// </summary> /// <param name="hostConfig"></param> /// <param name="msg"></param> /// <returns></returns> public static bool SendMail(MailHostConfig hostConfig, MailMessage msg, string mailAdress, string password) { Check.Require(hostConfig, "hostConfig"); Check.Require(hostConfig.HostAddress, "hostConfig.HostAddress"); Check.Require(hostConfig.HostType, "hostConfig.HostType"); Check.Require(hostConfig.HostPort >= 0); Check.Require(msg, "msg"); Check.Require(mailAdress, "mailAdress", Check.IsEmailAddress); if (msg.To.Count == 0) { return(false); } var client = new SmtpClient(); switch (hostConfig.HostType) { default: client.Host = "localhost"; break; case MailHostType.Smtp: client.Credentials = new NetworkCredential(mailAdress, password); client.Host = hostConfig.HostAddress; break; case MailHostType.SmtpUseSsl: client.Credentials = new NetworkCredential(mailAdress, password); client.Port = hostConfig.HostPort; client.Host = hostConfig.HostAddress; client.EnableSsl = true; break; } msg.SubjectEncoding = Encoding.UTF8; msg.BodyEncoding = Encoding.UTF8; //msg.Priority = MailPriority.High; object userState = msg; try { client.SendAsync(msg, userState); return(true); } catch //(System.Net.Mail.SmtpException ex) { return(false); } }
/// <summary> /// /// </summary> /// <param name="hostConfig"></param> /// <param name="msg"></param> /// <returns></returns> public static bool SendMail(MailHostConfig hostConfig, MailMessage msg, string mailAdress, string password) { Check.Require(hostConfig, "hostConfig"); Check.Require(hostConfig.HostAddress, "hostConfig.HostAddress"); Check.Require(hostConfig.HostType, "hostConfig.HostType"); Check.Require(hostConfig.HostPort >= 0); Check.Require(msg, "msg"); Check.Require(mailAdress, "mailAdress", Check.IsEmailAddress); if (msg.To.Count == 0) { return false; } SmtpClient client = new SmtpClient(); switch (hostConfig.HostType) { default: client.Host = "localhost"; break; case MailHostType.Smtp: client.Credentials = new System.Net.NetworkCredential(mailAdress, password); client.Host = hostConfig.HostAddress; break; case MailHostType.SmtpUseSSL: client.Credentials = new System.Net.NetworkCredential(mailAdress, password); client.Port = hostConfig.HostPort; client.Host = hostConfig.HostAddress; client.EnableSsl = true; break; } msg.SubjectEncoding = System.Text.Encoding.UTF8; msg.BodyEncoding = System.Text.Encoding.UTF8; //msg.Priority = MailPriority.High; object userState = msg; try { client.SendAsync(msg, userState); return true; } catch //(System.Net.Mail.SmtpException ex) { return false; } }