public void LoopSendEmali(List <EmailAccount> accs, string subject) {//每日激活邮件账户 //查询邮件账户列表 string dir = LogPrepare.GetLogPath(); ELogType el = ELogType.EmailLog; string file = LogPrepare.GetLogName(el); IEmailDataService emailService = IocMvcFactoryHelper.GetInterface <IEmailDataService>(); foreach (var item in accs) { string time = DateTime.Now.ToString(Common.Data.CommonFormat.DateTimeFormat); string title = "[HrApp Everyday active]"; try { //使用邮件账户进行邮件发送 short smtp = item.Smtp; //拼接发送的邮件内容 EmailSystemSetting ess = new EmailSystemSetting() { EmailAccount = item.Account, EmailAuthortyCode = item.AuthortyCode, EmailHost = item.SmtpHost, EmailHostPort = EmailSystemSetting.GetHostPortSmtp(smtp) }; ess.Smtp = (EnumSMTP)smtp; StringBuilder body = new StringBuilder(); body.AppendLine(" Guid:<br/> "); for (int i = 0; i < 10; i++) { body.AppendLine(string.Format(" {0}<br/> ", Guid.NewGuid().ToString().ToUpper())); } string text = string.Format("{0} <br/> smtp= {1}<br/> time= {2} <br/>{3} ", title, item.Account, time, body.ToString()); string receive = InitAppSetting.Global.ReceiverInEmailActive; AppEmailData emailData = new AppEmailData() { EmailCreateTime = DateTime.Now, To = string.IsNullOrEmpty(receive) ? "*****@*****.**" : receive, Subject = subject, From = item.Account, Body = text }; emailService.SendEmail(ess, emailData, ess.Smtp); LoggerWriter.CreateLogFile(title + "[Success]" + time, dir, el, file, true); } catch (Exception ex) { title += ex.Message; LoggerWriter.CreateLogFile(title + "[Error]" + time, dir, el, file, true); } } }
public override void OnActionExecuting(ActionExecutingContext filterContext) { //此处理并非是客户端直接传递过来的参数,而是经过代码处理后的结果 RequestContext request = filterContext.RequestContext; HttpContextBase hcb = request.HttpContext; //HTTP请求相关参数 //是否开启日志记录 if (InitAppSetting.OpenDebugType) { StringBuilder sb = new StringBuilder(); HttpRequestBase req = hcb.Request;//包含请求头相关信息的实体 string webBrowser = req.UserAgent; sb.AppendLine("UserAgent=\t" + webBrowser); string[] userLanguage = req.UserLanguages;//用户使用的语言 sb.AppendLine("UserLanguages =\t" + string.Join("|", userLanguage)); string url = req.Url.ToString(); sb.AppendLine("Url=\t" + url); string method = req.RequestType;//HTTP请求形式 sb.AppendLine("RequestType=\t" + method); string httpMethod = req.HttpMethod; sb.AppendLine("HttpMethod=\t" + httpMethod); //req.Form //请求的表单 //req.Headers //请求头 HttpCookieCollection cookies = req.Cookies;//请求的cookie if (cookies.Count > 0) { sb.AppendLine("Cookies="); /* * “System.InvalidCastException”类型的异常在 HRApp.Web.dll 中发生,但未在用户代码中进行处理 * * 其他信息: 无法将类型为“System.String”的对象强制转换为类型“System.Web.HttpCookie” * 不能直接使用foreach * foreach (HttpCookie item in cookies) * { * sb.AppendLine(item.ConvertJson()+"\r\n"); * } * https://www.cnblogs.com/answercard/archive/2009/02/02/1382404.html */ for (int i = 0; i < cookies.Count; i++) { HttpCookie hc = cookies[i]; sb.AppendLine(hc.ConvertJson() + "\r\n"); } } string mimeType = req.ContentType;//文件传输类型 sb.AppendLine("ContentType=\t" + mimeType); System.Text.Encoding userEncoding = req.ContentEncoding; sb.AppendLine("ContentEncoding=\t" + userEncoding.ToString()); HttpBrowserCapabilitiesBase browserInfo = req.Browser; sb.AppendLine("Browser=\t" + browserInfo.Browser + "\t"); for (int i = 0; i < browserInfo.Browsers.Count; i++) { sb.Append(browserInfo.Browsers[i].ToString() + "\t"); } sb.AppendLine("\r\nMobileDeviceModel=\t" + browserInfo.MobileDeviceModel); sb.AppendLine("Platform=\t" + browserInfo.Platform); string[] browserSupperMimeType = req.AcceptTypes;//HTTP预返回前端支持的文件格式 sb.AppendLine("\nAcceptTypes=\t" + string.Join(" ", browserSupperMimeType)); sb.AppendLine("Ip:" + GetBrowserIp()); ELogType el = ELogType.DebugData; string file = LogPrepare.GetLogName(el); LoggerWriter.CreateLogFile(sb.ToString(), LogPrepare.GetLogPath(), el, file, true); } IDictionary <string, object> apiParamList = filterContext.ActionParameters;//进入接口传递的参数 RouteData rd = filterContext.RouteData; if (apiParamList.Count == 0) { return; } base.OnActionExecuting(filterContext); }
private void TestEmail(string title) { string text = "使用代码进行邮箱测试功能"; string time = DateTime.Now.ToString(Common.Data.CommonFormat.DateTimeFormat); text += "<br/>邮件创建时间 :" + time; for (int i = 0; i < 10; i++) { text += string.Format("<br/> Guid{0}={1}", (i + 1), Guid.NewGuid().ToString().ToUpper()); } string logDir = LogPrepare.GetLogPath(); ELogType el = ELogType.EmailLog; string day = LogPrepare.GetLogName(el); try { Dictionary <string, string> emailSetting = InitAppSetting.AppSettingItemsInDB; string type = emailSetting[EAppSetting.SMTP.ToString()]; string sendBy = emailSetting[EAppSetting.SystemEmailSendBy.ToString()]; string authorCode = emailSetting[EAppSetting.SystemEmailSMPTAuthor.ToString()]; string smtpClient = emailSetting[EAppSetting.SMTPClient.ToString()]; EnumSMTP smtp; Enum.TryParse(type, out smtp); AppEmailData emailData = new AppEmailData() { EmailCreateTime = DateTime.Now, To = InitAppSetting.Global.ReceiverInEmailActive,// "*****@*****.**", Subject = title, From = sendBy, Body = text }; EmailSystemSetting setting = new Model.EmailSystemSetting() { EmailHostPort = smtp == EnumSMTP.NETS163? 25:587, EmailAuthortyCode = authorCode, EmailAccount = sendBy, EmailHost = smtpClient }; #region 直接发送,不存储【测试可用】 /* * EmailData email = new EmailData() * { * EmailTo =InitAppSetting.Global.ReceiverInEmailActive, * EmailSubject = title, * EmailBody = text, * CreateTime = DateTime.Now, * EmailFrom = sendBy * }; * EmailService es = new EmailService(smtpClient, sendBy, authorCode, 25, true); * es.SendEmailBy163(email); * */ #endregion IEmailDataService eds = IocMvcFactoryHelper.GetInterface <IEmailDataService>(); eds.SendEmail(setting, emailData, smtp); LoggerWriter.CreateLogFile(time + "\t[OK]进行邮件测试", logDir, el, day, true); } catch (Exception ex) { string msg = time + "\t[ Error]" + ex.Message; LoggerWriter.CreateLogFile(msg, logDir, el, day, true); } }