Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Add automatic unsubscribe links to the bottom of emails.
        ///     http://docs.sendgrid.com/documentation/apps/subscription-tracking/
        /// </summary>
        public void EnableUnsubscribeEmail()
        {
            //create a new message object
            var message = new SendGrid();

            //set the message recipients
            foreach (var recipient in _to)
            {
                message.AddTo(recipient);
            }

            //set the sender
            message.From = new MailAddress(_from);

            //set the message body
            message.Html = "This is the HTML body";

            message.Text = "This is the plain text body";

            //set the message subject
            message.Subject = "Hello World Unsubscribe Test";

            //create an instance of the Web transport mechanism
            var transportInstance = new Web(new NetworkCredential(_username, _password));

            //enable spamcheck
            //or optionally, you can specify 'replace' instead of the text and html in order to
            //place the link wherever you want.
            message.EnableUnsubscribe("Please click the following link to unsubscribe: <% %>",
                "Please click <% here %> to unsubscribe");

            //send the mail
            transportInstance.Deliver(message);
        }