using System; using System.Net; using System.Net.Mail; using System.Text; using System.Threading; namespace Demo.Code { public class MailHelper { /// <summary> /// Mail server address /// </summary> public string MailServer { get; set; } /// <summary> /// username /// </summary> public string MailUserName { get; set; } /// <summary> /// password /// </summary> public string MailPassword { get; set; } /// <summary> /// name /// </summary> public string MailName { get; set; } /// <summary> /// Send emails synchronously /// </summary> /// <param name="to">recipient email address</param> /// <param name="subject">主题</param> /// <param name="body">内容</param> /// <param name="encoding">编码</param> /// <param name="isBodyHtml">是否Html</param> /// <param name="enableSsl">Is SSL encrypted connection</param> /// <returns>Successful</returns> public bool Send(string to, string subject, string body, string encoding = "UTF-8", bool isBodyHtml = true, bool enableSsl = false) { try { MailMessage message = new MailMessage(); // recipient email address message.To.Add(new MailAddress(to)); message.From = new MailAddress(MailUserName, MailName); message.BodyEncoding = Encoding.GetEncoding(encoding); message.Body = body; //GB2312 message.SubjectEncoding = Encoding.GetEncoding(encoding); message.Subject = subject; message.IsBodyHtml = isBodyHtml; SmtpClient smtpclient = new SmtpClient(MailServer, 25); smtpclient.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword); //SSL connection smtpclient.EnableSsl = enableSsl; smtpclient.Send(message); return true; } catch (Exception) { throw; } } /// <summary> /// Asynchronously send emails to a separate thread /// </summary> /// <param name="to">Mail recipient</param> /// <param name="title">Email title</param> /// <param name="body">mail content</param> /// <param name="port">Port number</param> /// <returns></returns> public void SendByThread(string to, string title, string body, int port = 25) { new Thread(new ThreadStart(delegate() { try { SmtpClient smtp = new SmtpClient(); //The smtp address of the mailbox smtp.Host = MailServer; //The port number smtp.Port = port; //Build the sender's identity credential class smtp.Credentials = new NetworkCredential(MailUserName, MailPassword); //build message class MailMessage objMailMessage = new MailMessage(); //set priority objMailMessage.Priority = MailPriority.High; // message sender objMailMessage.From = new MailAddress(MailUserName, MailName, System.Text.Encoding.UTF8); //recipient objMailMessage.To.Add(to); //title objMailMessage.Subject = title.Trim(); // title character encoding objMailMessage.SubjectEncoding = System.Text.Encoding.UTF8; //text objMailMessage.Body = body.Trim(); objMailMessage.IsBodyHtml = true; //Content character encoding objMailMessage.BodyEncoding = System.Text.Encoding.UTF8; //send smtp.Send(objMailMessage); } catch (Exception) { throw; } })).Start(); } } }
[Reprint] Email
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=326484006&siteId=291194637
Ranking