Ejemplo n.º 1
0
        public override List <CheckResult> Analyze(object mailBody)
        {
            var results      = new List <CheckResult>();
            var checkMethods = new CheckMethods();

            var links = LinksFind(mailBody as string);
            Action <CheckResult> add = x => { if (x != null)
                                              {
                                                  results.Add(x);
                                              }
            };
            Action <List <CheckResult> > addRange = x =>
            {
                if (x != null)
                {
                    x.RemoveAll(y => y == null);
                    results.AddRange(x);
                }
            };

            if (links.Any())
            {
                foreach (string link in links)
                {
                    addRange(checkMethods.CheckLinkShorteners("Link-Shortener", link));

                    add(checkMethods.CheckBadTld("Link-badTLD", link));

                    // check for keywords in links
                    addRange(checkMethods.CheckKeywords("Link-Keyword", link));
                }

                HasLink = true;
                score   = results.Sum(x => x.score);
            }
            return(results);
        }
Ejemplo n.º 2
0
        public override List <CheckResult> Analyze(object data)
        {
            var attachments = data as Attachments;
            var results     = new List <CheckResult>();

            CheckMethods checkMethods = new CheckMethods();

            Action <List <CheckResult> > addRange = x =>
            {
                if (x != null)
                {
                    x.RemoveAll(y => y == null);
                    results.AddRange(x);
                }
            };

            if (attachments == null)
            {
                return(null);
            }

            foreach (Attachment attachment in attachments)
            {
                addRange(checkMethods.CheckDoubleExtensions("Attachment-DoubleExtensions", attachment.FileName));

                addRange(checkMethods.CheckBadExtensions("Attachment-BadExtension", attachment.FileName));

                addRange(checkMethods.CheckKeywords("Attachment-Keyword", attachment.FileName));

                addRange(checkMethods.CheckBadHashes("Attachment-FileHash", attachment));
            }

            score = results.Sum(x => x.score);

            return(results);
        }