コード例 #1
0
ファイル: FrmMain.cs プロジェクト: Giizemm/EbeveynKontrol
 private void Timer1_Tick(object sender, EventArgs e)
 {
     Process[] p = Process.GetProcesses();
     foreach (Process item in p)
     {
         if (item.MainWindowTitle != "" && !item.MainWindowTitle.ToLower().Replace(' ', '.').Contains(prev.ToLower()))
         {
             foreach (var ban in _bans)
             {
                 if (item.MainWindowTitle.ToLower().Contains(ban.Name.ToLower()))
                 {
                     string mailAdress = _mailManager.FirstMail().Adress;
                     MailTool.Send(mailAdress, item.MainWindowTitle);
                     _reportManager.Add(new Report()
                     {
                         DateTime  = DateTime.Now,
                         SiteTitle = item.MainWindowTitle,
                         BanID     = ban.Id
                     });
                     prev = ban.Name;
                     item.Kill();
                 }
             }
         }
     }
 }
コード例 #2
0
        public static void Run()
        {
            var url      = "https://api.alternative.me/fng/";
            var logPath  = @"F:\Project\schedule\config\log.txt";
            var apm      = DateTime.Now.ToString("tt", CultureInfo.InvariantCulture);
            var timeStr  = DateTime.Now.ToString("yyyy年MM月dd日hh时 ") + apm;
            var timeSign = DateTime.Now.ToString("yyyy年MM月dd日 ") + apm;
            var logInfos = File.ReadAllLines(logPath, Encoding.UTF8).ToList();

            if (logInfos.Contains(timeSign))
            {
                return;
            }
            if (DateTime.Now.Hour >= 12 && DateTime.Now.Hour <= 13)
            {
                return;
            }

            using (HttpClient client = new HttpClient())
            {
                try
                {
                    var result = client.GetStringAsync(url).Result.ToString();

                    dynamic obj   = JsonConvert.DeserializeObject(result);
                    var     value = obj.data[0].value.ToString();
                    var     index = Convert.ToInt32(value);

                    var pre = "";
                    if (index > 70 || index < 40)
                    {
                        pre = "警报:";
                    }
                    if (index > 80 || index < 20)
                    {
                        pre = "一级警报";
                    }

                    var mailMsg = pre + timeStr + $",当前Cypto Index是【{index}】";

                    MailTool mt = new MailTool();
                    mt.Send(mailMsg);

                    //var logWriter = new System.IO.StreamWriter(logPath);

                    File.AppendAllText(logPath, timeSign + Environment.NewLine);
                    File.AppendAllText(logPath, mailMsg + Environment.NewLine);

                    //logWriter.WriteLine(timeSign);
                    //logWriter.WriteLine(mailMsg);
                    //logWriter.Dispose();
                }
                catch (Exception ex)
                {
                }
            }
        }
コード例 #3
0
        public Task Execute(IJobExecutionContext context)
        {
            _logger.LogInformation("开始检测");
            var baseDir  = Directory.GetCurrentDirectory();
            var url      = "https://api.alternative.me/fng/";
            var logPath  = Path.Combine(baseDir, "log.txt");// @"F:\Project\schedule\config\log.txt";
            var apm      = DateTime.Now.ToString("tt", CultureInfo.InvariantCulture);
            var timeStr  = DateTime.Now.ToString("yyyy年MM月dd日hh时 ") + apm;
            var timeSign = DateTime.Now.ToString("yyyy年MM月dd日 ") + apm;

            File.AppendAllText(logPath, "" + Environment.NewLine);
            var logInfos = File.ReadAllLines(logPath, Encoding.UTF8).ToList();

            if (logInfos.Contains(timeSign))
            {
                _logger.LogInformation("数据已存在");
                return(Task.CompletedTask);
            }
            //if (DateTime.Now.Hour >= 12 && DateTime.Now.Hour <= 13) return Task.CompletedTask;

            using (HttpClient client = new HttpClient())
            {
                try
                {
                    var result = client.GetStringAsync(url).Result.ToString();

                    dynamic obj   = JsonConvert.DeserializeObject(result);
                    var     value = obj.data[0].value.ToString();
                    var     index = Convert.ToInt32(value);

                    var pre = "";
                    if (index > 70 || index < 40)
                    {
                        pre = "警报:";
                    }
                    if (index > 80 || index < 20)
                    {
                        pre = "一级警报";
                    }

                    var mailMsg = pre + timeStr + $",当前Cypto Index是【{index}】";

                    try
                    {
                        MailTool mt = new MailTool();
                        mt.Send(mailMsg);

                        _logger.LogInformation(mailMsg);
                        _logger.LogInformation("发送邮件成功");
                    }
                    catch (Exception ex)
                    {
                        _logger.LogError(ex.ToString());
                        return(Task.CompletedTask);
                    }

                    //var logWriter = new System.IO.StreamWriter(logPath);

                    File.AppendAllText(logPath, timeSign + Environment.NewLine);
                    File.AppendAllText(logPath, mailMsg + Environment.NewLine);

                    _logger.LogError("写入成功");

                    //logWriter.WriteLine(timeSign);
                    //logWriter.WriteLine(mailMsg);
                    //logWriter.Dispose();
                }
                catch (Exception ex)
                {
                    _logger.LogError(ex.ToString());
                }
                return(Task.CompletedTask);
            }
        }
コード例 #4
0
ファイル: MailService.cs プロジェクト: kuan0904/WabMaker
        /// <summary>
        /// 寄送郵件
        /// </summary>
        /// <param name="userID">user id</param>
        /// <param name="model">Mail內容取代字串</param>
        /// <param name="systemMailType">郵件類型</param>
        /// <param name="validType">驗證碼類型</param>
        /// <param name="structureID">郵件類型structure</param>
        /// <param name="fromFn">來源</param>
        /// <returns></returns>
        public async Task <CiResult> SendEmail(Guid userID, ReplaceMailContent model,
                                               SystemMailType systemMailType, ValidType?validType = null, Guid?structureID = null,
                                               string fromFn = "")
        {
            var result = new CiResult {
                IsSuccess = true
            };
            var mailTool = new MailTool {
                email = model.UserEmail
            };

            //ReplaceMailContent
            model.WebsiteUrl = RouteHelper.BaseUrl();
            if (string.IsNullOrEmpty(model.UserName) || string.IsNullOrEmpty(model.UserEmail) || !_Check.IsEmail(model.UserEmail))
            {
                result.IsSuccess = false;
            }

            //get setting
            if (result.IsSuccess)
            {
                var smtpResult = settingService.Get <SmtpServerViewModel>(SystemSettingType.SmtpServer);
                mailTool.setting = smtpResult.Data;
                if (!smtpResult.IsSuccess || !smtpResult.Data.IsEnabled)
                {
                    result.IsSuccess = false;
                }
            }

            if (result.IsSuccess)
            {
                var siteResult = settingService.Get <SiteInfoViewModel>(SystemSettingType.SiteInfo);
                if (siteResult.IsSuccess)
                {
                    model.WebsiteName = siteResult.Data.SiteName;
                }
                else
                {
                    result.IsSuccess = false;
                }
            }

            //create validCode
            if (result.IsSuccess && validType != null)
            {
                var validCodeResult = userService.CreateValidCode(userID, validType.Value);
                if (validCodeResult.IsSuccess)
                {
                    model.ConfirmUrl = RouteHelper.GetConfirmUrl(validType.Value, validCodeResult.Data, model.UserEmail);
                }
                else
                {
                    result.IsSuccess = false;
                }
            }

            //get template
            var template = new cms_EmailTemplate();

            if (result.IsSuccess)
            {
                template = templateService.GetByType(systemMailType, structureID);
                if (template != null)
                {
                    // ckeditor
                    template.Content = HttpUtility.HtmlDecode(template.Content);

                    // set template
                    mailTool.subject = model.ReplaceContent(template.Subject);
                    mailTool.content = model.ReplaceContent(template.Content);
                    if (!string.IsNullOrEmpty(template.TemplateBcc))
                    {
                        mailTool.bccReceiver = template.TemplateBcc.Split(',');
                    }
                }
                else
                {
                    result.IsSuccess = false;
                    _Log.CreateText($"SendEmail no template: {systemMailType.ToString()}");
                }
            }

            //send mail (測試中:只能寄給開發者)
            if (result.IsSuccess)
            {
                if (!ApplicationHelper.IsLocal || (ApplicationHelper.IsLocal && mailTool.IsTestingMail(model.UserEmail)))
                {
                    result.IsSuccess = await mailTool.SendAsync(fromFn);
                }
                else
                {
                    _Log.CreateText($"Local not send: {mailTool.email}");
                }

                //add log
                emailService.CreateLog(new EmailViewModel
                {
                    Email = new cms_Email
                    {
                        Subject        = mailTool.subject,
                        Content        = mailTool.content,
                        SystemMailType = (int)systemMailType,
                        Status         = (int)MailStatus.Done,
                        SendTime       = DateTime.Now
                    },
                    SendUsers = new List <cms_EmailSendUser> {
                        new cms_EmailSendUser {
                            ToEmail  = model.UserEmail,
                            ToUser   = userID,
                            IsSend   = result.IsSuccess,//是否已發送
                            SendTime = DateTime.Now
                        }
                    }
                });
            }

            if (result.IsSuccess)
            {
                if (systemMailType == SystemMailType.ConfirmEmail)
                {
                    result.Message = string.Format(SystemMessage.EmailConfirm, model.UserEmail);
                }
                else if (systemMailType == SystemMailType.ForgotPassword)
                {
                    result.Message = string.Format(SystemMessage.PasswordReset, model.UserEmail);
                }
                else
                {
                    result.Message = SystemMessage.SendSuccess;
                }
            }
            else if (string.IsNullOrEmpty(result.Message))
            {
                result.Message = SystemMessage.MailServerError;
            }

            SessionManager.Captcha = "";

            return(result);
        }
コード例 #5
0
ファイル: UserEmail.cs プロジェクト: twkhjl/ASP.NET_joFreind
 public static void sendResetPasswordEmail(users user, string baseUrl)
 {
     MailTool.sendEmail(user.email, mailTitle["resetPasswordTitle"], resetPasswordContent(user, baseUrl));
 }
コード例 #6
0
ファイル: UserEmail.cs プロジェクト: twkhjl/ASP.NET_joFreind
 public static void sendValidateEmail(users user, string baseUrl)
 {
     MailTool.sendEmail(user.email, mailTitle["validateTitle"], validateContent(user, baseUrl));
 }
コード例 #7
0
 public MyMailTool()
 {
     yourMailTool = new MailTool();
 }