发送email类[3](C#)

来源:互联网 发布:linux怎么做脚本 编辑:程序博客网 时间:2024/05/17 02:25

using System;
using System.Web;
using System.Web.Mail;

namespace Baolee.GeneralMethod
{
 /// <summary>
 /// SendMail 的摘要说明。
 /// </summary>
 public class SendMail
 {

  #region // Properties


  /// <summary>
  ///
  /// </summary>
  private static bool IsDebug
  {
   get
   {
    return ProgSetting.IsDebug;
   }
  }
  /// <summary>
  ///
  /// </summary>
  private static string MailServer
  {
   get
   {
    return PublicConst.MailServer;
   }
  }
  /// <summary>
  ///
  /// </summary>
  private static string ManagerEmail
  {
   get
   {
    return PublicConst.ManagerEmail;
   }
  }
  /// <summary>
  ///
  /// </summary>
  private static string PageUrl
  {
   get
   {
    return PublicConst.PageUrl;
   }
  }
  /// <summary>
  ///
  /// </summary>
  private static string RemoteUserIp
  {
   get
   {
    return PublicConst.RemoteUserIp;
   }
  }
  /// <summary>
  ///
  /// </summary>
  private static string WebServer
  {
   get
   {
    return PublicConst.WebServer;
   }
  }
  #endregion

  #region // Methods

  /// <summary>
  /// 构造函数
  /// </summary>
  public SendMail()
  {
   //
   // TODO: 在此处添加构造函数逻辑
   //
  }
  /// <summary>
  /// EMail的内容,UBB格式化
  /// </summary>
  /// <param name="Mail_subject">Mail主题</param>
  /// <param name="Mail_body">Mail内容</param>
  /// <param name="Man">发送人</param>
  /// <returns></returns>
  private static string MailContent(string Mail_subject, string Mail_body, string Man)
  {
   string text = new UBB().ReTheStr(Mail_body);
   string text2 = "<table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#009999 align=center>";
   return ((((((((text2 + "<tr><td><table cellpadding=3 cellspacing=1 border=0 width=100%><tr align='center'><td colspan='2' width='100%' bgcolor=#dddec2><b>系统问题报告</b></td></tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>主题 :</td> <td width='70%'>" + Mail_subject + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>发送人:</td> <td width='70%'>" + Man + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>发送时间:</td> <td width='70%'>" + DateTime.Now.ToString() + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='100%' colspan='2'>具体内容如下:</td> </tr> ") + "<tr bgcolor=#dddddd> <td width='100%' colspan='2'>" + text + "</td> </tr> ") + "<tr bgcolor=#dddec2> <td width='100%' colspan='2' align='right'><a href='" + WebServer + "' >系统问题报告</a></td> </tr> ") + "</table></td></tr></table>");
  }
  /// <summary>
  /// EMail的内容
  /// </summary>
  /// <param name="msg">msg</param>
  /// <returns>HTML信件</returns>
  private static string MsgContent(string msg)
  {
   string text = "<table cellpadding=0 cellspacing=0 border=0 width=95% bgcolor=#009999 align=center>";
   return ((((((((text + "<tr><td><table cellpadding=3 cellspacing=1 border=0 width=100%><tr align='center'><td colspan='2' width='100%' bgcolor=#dddec2><b>系统问题报告</b></td></tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>发生页面 :</td> <td width='70%'>" + PageUrl + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>发生时间:</td> <td width='70%'>" + DateTime.Now.ToString() + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='30%'>操作IP:</td> <td width='70%'>" + RemoteUserIp + "</td> </tr>") + "<tr bgcolor=#DBDBDB> <td width='100%' colspan='2'>具体内容如下:</td> </tr> ") + "<tr bgcolor=#dddddd> <td width='100%' colspan='2'>" + msg + "</td> </tr> ") + "<tr bgcolor=#dddec2> <td width='100%' colspan='2' align='right'><a href='" + WebServer + "' >系统问题报告</a></td> </tr> ") + "</table></td></tr></table>");
  }
  /// <summary>
  /// 测试用,发送到我的邮箱
  /// </summary>
  /// <param name="msg"></param>
  public static void send(string msg)
  {
   ESmtpMail mail = new ESmtpMail();
   mail.From = "zourinet";
   mail.FromName = "zourinet";
   mail.AddRecipient(ManagerEmail);
   mail.MailDomain = MailServer;
   mail.MailServerUserName = "zourinet@gmail.com";
   mail.MailServerPassWord = "zourinet";
   mail.Subject = "System_Report_Error";
   mail.Body = msg;
   mail.Send();
  }
  /// <summary>
  /// 记录调试信息,依赖于 AppSettin.XML
  /// </summary>
  /// <param name="msg"></param>  
  public static void SendDebug(string msg)
  {
   if (IsDebug)
   {
    SendMailToManager("<font color=red>" + msg + "</font>");
   }
  }
  /// <summary>
  /// 邮件发送程式,无验证    需要用户密码验证的发送请参看MailSender
  /// </summary>
  /// <param name="ToMan"></param>
  /// <param name="CcMan"></param>
  /// <param name="Mail_subject"></param>
  /// <param name="Mail_body"></param>
  public static void SendMails(string ToMan, string CcMan, string Mail_subject, string Mail_body)
  {
   MailMessage message = new MailMessage();
   message.From = "MIS_Question_Reports";
   bool flag = true;
   if (ToMan != "")
   {
    message.To = ToMan.ToString();
    flag = false;
   }
   if (CcMan != "")
   {
    message.Cc = CcMan.ToString();
    flag = false;
   }
   if (!flag)
   {
    message.Subject = Mail_subject;
    message.Body = Mail_body;
    message.BodyFormat = MailFormat.Html;
    message.Priority = MailPriority.Normal;
    SmtpMail.SmtpServer = MailServer;
    SmtpMail.Send(message);
   }
  }

  /// <summary>
  /// 写错误信息进入LOG档案
  /// </summary>
  /// <param name="msg"></param>
  public static void SendMailToManager(string msg)
  {
   Message.ErrLogs(MsgContent(msg));
  }
  /// <summary>
  /// 发送错误信息邮件进入系统管理员EMail.
  /// </summary>
  /// <param name="msg"></param>
  /// <param name="isErrMsg">false为发邮件,true为写Log档案</param>
  public static void SendMailToManager(string msg, bool isErrMsg)
  {
   if (isErrMsg)
   {
    msg = "<font color=#1122aa>" + msg + "</font>";
   }
   MailSender sender = new MailSender();
   sender.From = "zourinet@gmail.com";
   sender.To = "zourinet@gmail.com";
   sender.Subject = "Sysreports_Error_msg";
   sender.Body = " Test is ok";
   sender.UserName = "zourinet@gmail.com";
   sender.Password = "zourinet";
   sender.Server = "192.168.0.132";
   sender.SendMail();
  }
 #endregion

 

 }
}
 

原创粉丝点击