public void TestEnable()
 {
     var test = new Header();
     test.Enable("foo");
     var result = test.AsJson();
     Assert.AreEqual("{\"filters\" : {\"foo\" : {\"settings\" : {\"enable\" : \"1\"}}}}", result);
 }
        public void EnableUnsubscribe(string replace)
        {
            var filter = Filters["Unsubscribe"];

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "replace"
            }, replace);
        }
        public void EnableBcc(string email)
        {
            var filter = Filters["Bcc"];

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "email"
            }, email);
        }
        public void EnableFooter(string text = null, string html = null)
        {
            var filter = Filters["Footer"];

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "text/plain"
            }, text);
            Header.AddFilterSetting(filter, new List <string> {
                "text/html"
            }, html);
        }
        public void EnableSpamCheck(int score = 5, string url = null)
        {
            var filter = Filters["SpamCheck"];

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "maxscore"
            }, score.ToString(CultureInfo.InvariantCulture));
            Header.AddFilterSetting(filter, new List <string> {
                "url"
            }, url);
        }
        public void EnableClickTracking(bool includePlainText = false)
        {
            var filter = Filters["ClickTracking"];

            Header.Enable(filter);
            if (includePlainText)
            {
                Header.AddFilterSetting(filter, new List <string> {
                    "enable_text"
                }, "1");
            }
        }
        public void EnableTemplate(string html)
        {
            var filter = Filters["Template"];

            if (!System.Text.RegularExpressions.Regex.IsMatch(html, ReHtml))
            {
                throw new Exception("Missing substitution replacementTag in html");
            }

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "text/html"
            }, html);
        }
        public void EnableGoogleAnalytics(string source, string medium, string term, string content = null, string campaign = null)
        {
            var filter = Filters["GoogleAnalytics"];

            Header.Enable(filter);
            Header.AddFilterSetting(filter, new List <string> {
                "utm_source"
            }, source);
            Header.AddFilterSetting(filter, new List <string> {
                "utm_medium"
            }, medium);
            Header.AddFilterSetting(filter, new List <string> {
                "utm_term"
            }, term);
            Header.AddFilterSetting(filter, new List <string> {
                "utm_content"
            }, content);
            Header.AddFilterSetting(filter, new List <string> {
                "utm_campaign"
            }, campaign);
        }
 public void EnableBypassListManagement()
 {
     Header.Enable(Filters["BypassListManagement"]);
 }
 public void EnableOpenTracking()
 {
     Header.Enable(Filters["OpenTracking"]);
 }
 public void EnableGravatar()
 {
     Header.Enable(Filters["Gravatar"]);
 }