public void DisableBypassListManagement()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            sendgrid.DisableBypassListManagement();

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"bypass_list_management\" : {\"settings\" : {\"enable\" : \"0\"}}}}", json);
        }
        public void DisableBcc()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            sendgrid.DisableBcc();

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"bcc\" : {\"settings\" : {\"enable\" : \"0\"}}}}", json);
        }
Exemple #3
0
        public MailMessage CreateMimeMessage()
        {
            var smtpapi = Header.JsonString();

            if (!String.IsNullOrEmpty(smtpapi))
            {
                _message.Headers.Add("X-Smtpapi", smtpapi);
            }

            Headers.Keys.ToList().ForEach(k => _message.Headers.Add(k, Headers[k]));

            _message.Attachments.Clear();
            _message.AlternateViews.Clear();

            if (Attachments != null)
            {
                foreach (var attachment in Attachments)
                {
                    _message.Attachments.Add(new Attachment(attachment, MediaTypeNames.Application.Octet));
                }
            }

            if (StreamedAttachments != null)
            {
                foreach (var attachment in StreamedAttachments)
                {
                    attachment.Value.Position = 0;
                    _message.Attachments.Add(new Attachment(attachment.Value, attachment.Key));
                }
            }

            if (Text != null)
            {
                var plainView = AlternateView.CreateAlternateViewFromString(Text, null, "text/plain");
                _message.AlternateViews.Add(plainView);
            }

            if (Html == null)
            {
                return(_message);
            }

            var htmlView = AlternateView.CreateAlternateViewFromString(Html, null, "text/html");

            _message.AlternateViews.Add(htmlView);

            //message.SubjectEncoding = Encoding.GetEncoding(charset);
            //message.BodyEncoding = Encoding.GetEncoding(charset);

            return(_message);
        }
        public void TestDisableOpenTracking()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            sendgrid.DisableOpenTracking();

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"opentrack\" : {\"settings\" : {\"enable\" : \"0\"}}}}", json);
        }
        public void EnableTemplate()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);
            var html = "<% hadhdhd %>";

            var escHtml = "<% hadhdhd %>";
            sendgrid.EnableTemplate(html);

            var json = header.JsonString();
            Assert.AreEqual(
                "{\"filters\" : {\"template\" : {\"settings\" : {\"enable\" : \"1\",\"text\\/html\" : \"" + escHtml + "\"}}}}", json);

            escHtml = "bad";
            Assert.Throws<Exception>(() => sendgrid.EnableTemplate(escHtml));
        }
        public void EnableUnsubscribe()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            var text = "<% %>";
            var html = "<% name %>";

            var jsonText = "\"text\\/plain\" : \"" + text + "\"";
            var jsonHtml = "\"text\\/html\" : \"" + html + "\"";

            sendgrid.EnableUnsubscribe(text, html);

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"subscriptiontrack\" : {\"settings\" : {\"enable\" : \"1\"," +
                            jsonText + "," + jsonHtml + "}}}}", json);

            header = new Header();
            sendgrid = new SendGrid(header);

            var replace = "John";
            var jsonReplace = "\"replace\" : \"" + replace + "\"";

            sendgrid.EnableUnsubscribe(replace);

            json = header.JsonString();
            Assert.AreEqual(
                "{\"filters\" : {\"subscriptiontrack\" : {\"settings\" : {\"enable\" : \"1\"," + jsonReplace + "}}}}", json);

            text = "bad";
            html = "<% name %>";
            Assert.Throws<Exception>(() => sendgrid.EnableUnsubscribe(text, html));

            text = "<% %>";
            html = "bad";
            Assert.Throws<Exception>(() => sendgrid.EnableUnsubscribe(text, html));
        }
        public void EnableGravatar()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            sendgrid.EnableGravatar();

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"gravatar\" : {\"settings\" : {\"enable\" : \"1\"}}}}", json);
        }
        public void EnableSpamCheck()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            var score = 5;
            var url = "http://www.example.com";
            sendgrid.EnableSpamCheck(score, url);

            var json = header.JsonString();
            Assert.AreEqual(
                "{\"filters\" : {\"spamcheck\" : {\"settings\" : {\"enable\" : \"1\",\"maxscore\" : \"5\",\"url\" : \"http:\\/\\/www.example.com\"}}}}",
                json);
        }
        public void EnableGoogleAnalytics()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            var source = "SomeDomain.com";
            var medium = "Email";
            var term = "keyword1, keyword2, keyword3";
            var content = "PG, PG13";
            var campaign = "my_campaign";

            sendgrid.EnableGoogleAnalytics(source, medium, term, content, campaign);

            var jsonSource = "\"utm_source\" : \"SomeDomain.com\"";
            var jsonMedium = "\"utm_medium\" : \"" + medium + "\"";
            var jsonTerm = "\"utm_term\" : \"" + term + "\"";
            var jsonContent = "\"utm_content\" : \"" + content + "\"";
            var jsonCampaign = "\"utm_campaign\" : \"" + campaign + "\"";

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"ganalytics\" : {\"settings\" : {\"enable\" : \"1\"," +
                            jsonSource + "," + jsonMedium + "," + jsonTerm + "," + jsonContent + "," + jsonCampaign + "}}}}",
                json);
        }
        public void EnableFooter()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            var text = "My Text";
            var html = "<body><p>hello, <% name %></p></body>";
            var escHtml = "<body><p>hello, <% name %><\\/p><\\/body>";

            sendgrid.EnableFooter(text, html);

            var json = header.JsonString();
            Assert.AreEqual(
                "{\"filters\" : {\"footer\" : {\"settings\" : {\"enable\" : \"1\",\"text\\/plain\" : \"" + text +
                "\",\"text\\/html\" : \"" + escHtml + "\"}}}}", json);
        }
        public void EnableClickTracking()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);
            sendgrid.EnableClickTracking(true);

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"clicktrack\" : {\"settings\" : {\"enable\" : \"1\",\"enable_text\" : \"1\"}}}}",
                json);
        }
        public void EnableBcc()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            var email = "*****@*****.**";
            sendgrid.EnableBcc(email);

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"bcc\" : {\"settings\" : {\"enable\" : \"1\",\"email\" : \"" + email + "\"}}}}",
                json);
        }
        public void DisableUnsubscribe()
        {
            var header = new Header();
            var sendgrid = new SendGrid(header);

            sendgrid.DisableUnsubscribe();

            var json = header.JsonString();
            Assert.AreEqual("{\"filters\" : {\"subscriptiontrack\" : {\"settings\" : {\"enable\" : \"0\"}}}}", json);
        }