1、新建MailHelper类,将需要用到的包引入到文件中,具体引入方法如下:using System;using System.Net;using System.Net.Mail;
2、编写邮件的发送方法,主要使用到了MailMessage、SmtpClient类蕞瞀洒疸型,MailMessage主要是组装邮件的内容,SmtpClient连接服务器,并发送。首选,设置邮件内容:MailMessage message = new MailMessage(); // 接收人邮箱地址 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;
3、然后,设置邮件的服务器地址及端口,设置邮件的用户名和密码,具体实现如下: SmtpClient smtpclient = new SmtpClient(MailServer, 25); smtpclient.Credentials = new System.Net.NetworkCredential(MailUserName, MailPassword); //SSL连接 smtpclient.EnableSsl = enableSsl; smtpclient.Send(message);
4、将上述的方法编写的方法,组装成一个方法,这样可以方便调用,如下:/// <挢旗扦渌;summary> /// 同遘抟斟喏步发送邮件 /// </summary> /// <param name="to">收件人邮箱地址</param> /// <param name="subject">主题</param> /// <param name="body">内容</param> /// <param name="encoding">编码</param> /// <param name="isBodyHtml">是否Html</param> /// <param name="enableSsl">是否SSL加密连接</param> /// <returns>是否成功</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(); // 接收人邮箱地址 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连接 smtpclient.EnableSsl = enableSsl; smtpclient.Send(message); return true; } catch (Exception) { throw; } }
5、编写上述方法后,直接用方法,可以实现发送邮件的功能,具体调用方法如下:MailHelper mail = new MailHelper(); mail.MailServer = Configs.GetValue("MailHost"); mail.MailUserName = Configs.GetValue("MailUserName"); mail.MailPassword = Configs.GetValue("MailPassword"); mail.MailName = "我是小编"; mail.SendByThread(account, title, content); return Success("发送成功。");