公司网站属于什么类型,遂宁网站优化,与建设部网站,版本设计网站介绍System.Net.Mail命名空间是在.NET Framework中新增的#xff0c;该命名空间提供了发送电子邮件的功能。通过对本章的学习#xff0c;读者可以轻松地使用.NET Framework提供的类库来发送电子邮件。System.Net.Mail 命名空间包含用于将电子邮件发送到SMTP服务器的类#x…介绍System.Net.Mail命名空间是在.NET Framework中新增的该命名空间提供了发送电子邮件的功能。通过对本章的学习读者可以轻松地使用.NET Framework提供的类库来发送电子邮件。System.Net.Mail 命名空间包含用于将电子邮件发送到SMTP服务器的类这些类需要结合Microsoft SMTP Server一起使用。System.Net.Mail 命名空间下有SmtpClient类用于发送邮件可以完全代替SmtpMail类。利用SmtpClient类的Send方法可以完成发送电子邮件的传 输也可以用SendAsync方法进行异步发送后者发送完成后会产生一个SendCompleted 事件来通知发送结果。Send方法可以接受MailMessage类的对象作为参数。通过MailMessage类可以设置邮件更多的内容和格式例如为 Attachment类设置添加附件的参数。SmtpClient 类与SMTP结合在一起通过MailMessage类、MailAddress类、Attachment类来丰富电子邮件的内容和设置。图18-2展示 了用户通过System.Net.Mail命名空间下的类结合SMTP发送电子邮件的过程。SmtpClient类的语法定义如下public class SmtpClient下面的代码演示如何创 建一个SmtpClient的实例。SmtpClient client new SmtpClient (“smtp.Sina.com”); //直接通过构造函数设置SMTP 主机服务器或SmtpClient client new SmtpClient ();Client. Host ” smtp.Sina.com”; //通过Host属性来设置SMTP 主机服务器完整代码/// summary/// 邮件处理器/// /summarypublic class MailHandler{private MailMessage _mailMessage;private string _host;private string _userName;private string _password;public MailHandler(){}/// summary/// 设置邮件信息/// /summary/// param namesubject主体/param/// param namebody内容/param/// param namefrom发件人/param/// param nameto收件人/param/// param namecc抄送人/param/// param namebcc密件抄送人/param/// param nameisBodyHtml内容是否为Html/parampublic void SetMailMessage(string subject, string body, string from, string[] to, string[] cc, string[] bcc, bool isBodyHtml true){_mailMessage new MailMessage();_mailMessage.Subject subject;_mailMessage.Body body;_mailMessage.IsBodyHtml isBodyHtml;_mailMessage.From new MailAddress(from);if (to ! null){foreach (var item in to){_mailMessage.To.Add(item);}}if (cc ! null){foreach (var item in cc){_mailMessage.CC.Add(item);}}if (bcc ! null){foreach (var item in bcc){_mailMessage.Bcc.Add(item);}}_mailMessage.BodyEncoding System.Text.Encoding.UTF8;}/// summary/// 配置Smtp服务主机及身份验证/// /summary/// param namehostSmtp主机名或Ip/param/// param nameuserName用户名/param/// param namepassword密码/parampublic void SetSmtp(string host, string userName, string password){this._host host;this._userName userName;this._password password;}/// summary/// 发送邮件/// /summarypublic void Send(){using (var sc new SmtpClient()){sc.Host _host;sc.Port 25;sc.DeliveryMethod SmtpDeliveryMethod.Network;sc.Credentials new System.Net.NetworkCredential(_userName, _password);sc.Send(_mailMessage);}}public string SendMail(string title, string content){var smptHost ConfigHelper.GetAppSetting(SmtpHost);var userName ConfigHelper.GetAppSetting(MailUserName);var password ConfigHelper.GetAppSetting(MailPassword);var mailToAddress ConfigHelper.GetAppSetting(MailAddress).Split(,);if (string.IsNullOrWhiteSpace(smptHost)){return SmtpHost为空;}if (string.IsNullOrWhiteSpace(userName)){return 发件人为空;}if (string.IsNullOrWhiteSpace(password)){return 发件人密码为空;}if (mailToAddress.Length 0){return 收件人列表为空;}var mailContent htmlheadtitle邮件内容/title/headbody content /body/html;SetSmtp(smptHost, userName, password);SetMailMessage(title, mailContent, userName, mailToAddress, null, null);try{Send();}catch (Exception ex){return ex.Message;}return null;}}