行 1: using log4net;
行 2: using System;
行 3: using System.Collections.Generic;
行 4: using System.Linq;
行 5: using System.Net.Mail;
行 6: using System.Web;
行 7:
行 8: /// <summary>
行 9: /// oFun 的摘要描述
行 10: /// </summary>
行 11: public class oFun
行 12: {
行 13: public oFun()
行 14: {
行 15: //
行 16: // TODO: 在這裡新增建構函式邏輯
行 17: //
行 18: }
行 19: /// <summary>
行 20: /// 顯示提示訊息並換頁
行 21: /// </summary>
行 22: /// <param name="myPage"></param>
行 23: /// <param name="msg">提示訊息內容</param>
行 24: /// <param name="url">要換頁的網址;回上一頁傳入-1</param>
行 25: public void AlertReplace(System.Web.UI.Page myPage, string msg, string url)
行 26: {
行 27: string js = "";
行 28: if (msg.Length > 0)
行 29: {
行 30: js += "alert('" + msg + "');";
行 31: }
行 32: if (url == "-1")
行 33: {
行 34: js += "history.go(-1);";
行 35: }
行 36: else
行 37: {
行 38: if (url.Length > 0)
行 39: {
行 40: js += "location.replace('" + url + "');";
行 41: }
行 42: }
行 43: myPage.ClientScript.RegisterClientScriptBlock(this.GetType(), "alert_replace", js, true);
行 44: }
行 45:
行 46: /// <summary>
行 47: /// 判斷是否符合正規表達式
行 48: /// </summary>
行 49: /// <param name="Reg"></param>
行 50: /// <param name="str"></param>
行 51: /// <returns></returns>
行 52: public bool IsCheck(string Reg, string str)
行 53: {
行 54: System.Text.RegularExpressions.Regex regHtml = new System.Text.RegularExpressions.Regex(Reg);
行 55: System.Text.RegularExpressions.Match mHtml = regHtml.Match(str);
行 56: if (mHtml.Success)
行 57: {
行 58: return true;
行 59: }
行 60: else
行 61: {
行 62: return false;
行 63: }
行 64: }
行 65:
行 66: /// <summary>
行 67: /// 判斷是否為數字組成
行 68: /// </summary>
行 69: /// <param name="str"></param>
行 70: /// <returns></returns>
行 71: public bool IsNum(string str)
行 72: {
行 73: string strReg = @"[0-9]";
行 74: bool bTmp = true;
行 75: for (int i = 0; i < str.Length; i++)
行 76: {
行 77: bTmp = IsCheck(strReg, str.Substring(i, 1));
行 78: if (bTmp == false)
行 79: {
行 80: break;
行 81: }
行 82: }
行 83: return bTmp;
行 84: }
行 85:
行 86:
行 87: /// <summary>
行 88: /// 發送信件
行 89: /// </summary>
行 90: /// <param name="sSenderName">寄件者名稱</param>
行 91: /// <param name="sSenderMail">寄件者MAIL</param>
行 92: /// <param name="sFunName">功能名稱</param>
行 93: /// <param name="sSubject">主旨</param>
行 94: /// <param name="sForWhoMail">收件者</param>
行 95: /// <param name="sMailContent">內容</param>
行 96: public bool SendMail(string sSenderName, string sSenderMail, string sFunName ,string sSubject,string sForWhoMail, string sMailContent)
行 97: {
行 98: bool bResult = false;
行 99:
行 100: ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
行 101:
行 102:
行 103: SmtpClient objSMTP = new SmtpClient();
行 104: objSMTP.UseDefaultCredentials = false;
行 105: objSMTP.Host = "mail.publichealth.org.tw";
行 106: ' Use LOGIN Authentication method (insecure, but
行 107: ' supported by nearly all SMTP servers)
行 108: objSMTP.AuthMethod = 2
行 109:
行 110: ' Set authentication credentials
行 111: objSMTP.UserName = "admin@publichealth.org.tw"
行 112: objSMTP.Password = "Vt9pq$UuqmYEeNGX!XL5"
行 113: objSMTP.Port = 25;
行 114: objSMTP.EnableSsl = false;
行 115: objSMTP.Timeout = 3600000;
行 116:
行 117: objSMTP.DeliveryMethod = SmtpDeliveryMethod.Network;
行 118: ////objSMTP.EnableSsl = true;
行 119: //objSMTP.DeliveryMethod = SmtpDeliveryMethod.Network;
行 120:
行 121: MailMessage msg = new MailMessage();
行 122: msg.IsBodyHtml = true;
行 123: msg.From = new MailAddress(sSenderMail, sSenderName, System.Text.Encoding.UTF8);
行 124: msg.Subject = sSubject;
行 125:
行 126: try
行 127: {
行 128: msg.Body = sMailContent;
行 129: msg.To.Add(sForWhoMail);
行 130: objSMTP.Send(msg);
行 131: bResult = true;
行 132: }
行 133: catch (Exception ex)
行 134: {
行 135: logger.Error(sFunName + "信件發送錯誤:" + ex.Message, ex);
行 136: bResult = false;
行 137: }
行 138: finally
行 139: {
行 140: msg.To.Clear();
行 141: }
行 142: return bResult;
行 143: }
行 144: }
|