using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Net.Mail; using System.Net; using System.Text; using System.Text.RegularExpressions; /// ///TWoExpressMail 的摘要说明 /// public class TWoExpressMail { private string m_FromMail; /// /// 邮件发送者 /// public string FromMail { get { return m_FromMail; } set { m_FromMail = value; } } private string m_ToMail; /// /// 邮件接受者 /// public string ToMail { get { return m_ToMail; } set { m_ToMail = value; } } private string m_Subject; /// /// 邮件主题 /// public string Subject { get { return m_Subject; } set { m_Subject = value; } } private string m_Body; /// /// 邮件正文 /// public string Body { get { return m_Body; } set { m_Body = value; } } private string m_Poster; /// /// 发送者邮箱地址 /// public string Poster { get { return m_Poster; } set { m_Poster = value; } } private string m_PosterPWD; /// /// 发送者邮箱密码 /// public string PosterPWD { get { return m_PosterPWD; } set { m_PosterPWD = value; } } /// /// 构造函数 /// public TWoExpressMail() { Random rand = new Random(); int i = rand.Next(0, 9); if (i >= 0 && i <= 9) { m_FromMail = "huangjiatest" + i.ToString() + "@126.com"; m_Poster = "huangjiatest" + i.ToString() + "@126.com"; m_PosterPWD = "huangjialin123"; } else { m_FromMail = "ZWLtest123@126.com"; m_Poster = "ZWLtest123@126.com"; m_PosterPWD = "huangjialin"; } } /// /// 判断是否允许发送 /// /// private bool AllowSend() { //使用正则式匹配邮箱地址--移动号段 Regex regex1 = new Regex(@"(134|135|136|137|138|139|147|150|151|152|157|158|159|187|188)\d{8}"); if (regex1.IsMatch(m_ToMail)) { m_ToMail = m_ToMail + "@139.com"; return true; } //使用正则式匹配邮箱地址--电信号段 Regex regex2 = new Regex(@"(133|153|180|189|181)\d{8}"); if (regex2.IsMatch(m_ToMail)) { m_ToMail = m_ToMail + "@189.cn"; return true; } //使用正则式匹配邮箱地址--联通号段 Regex regex3 = new Regex(@"(130|131|132|155|156|185|186)\d{8}"); if (regex3.IsMatch(m_ToMail)) { m_ToMail = m_ToMail + "@wo.com.cn"; return true; } /* // 1、邮件发送者或邮件接受者为空,不允许发送。 if (String.IsNullOrEmpty(m_FromMail.Trim()) || String.IsNullOrEmpty(m_ToMail.Trim()) || m_ToMail.Trim() == "@139.com") return false; // 2、检查邮件接受者是否合法,以下情况不合法: // 1)邮件接受者不含@符号; // 2)邮件接受者非移动用户; if (m_ToMail.IndexOf("@") <= 0) return false; string s10086 = ",134,135,136,137,138,139,147,150,151,152,157,158,159,187,188,"; string sSubStr = "," + m_ToMail.Substring(0, 3) + ","; if (s10086.IndexOf(sSubStr) < 0) return false; */ return false; } /// /// 发送邮件 /// public void SendMail() { if (!AllowSend()) return; SmtpClient client = new SmtpClient("smtp.126.com"); client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential(m_Poster, m_PosterPWD); client.DeliveryMethod = SmtpDeliveryMethod.Network; MailMessage message = new MailMessage(m_FromMail, m_ToMail, m_Subject, m_Body); message.BodyEncoding = Encoding.UTF8; message.IsBodyHtml = true; try { client.Send(message); } catch (Exception ex) { throw ex; } } }