public void Test_EnablingUnsubscribe_text_html() { var mail = BasicMailBuilder .EnableUnsubscribe( "If you would like to unsubscribe and stop receiving these emails click here: <% %>.", "If you would like to unsubscribe and stop receiving these emails click <% here %>.") .Build(); var message = new SendGridMessage(); message.EnableUnsubscribe( "If you would like to unsubscribe and stop receiving these emails click here: <% %>.", "If you would like to unsubscribe and stop receiving these emails click <% here %>."); Assert.IsFalse(string.IsNullOrEmpty(message.Header.JsonString())); Assert.AreEqual(message.Header.JsonString(), mail.Header.JsonString()); }
public void Test_EnablingUnsubscribe_replace() { var mail = BasicMailBuilder .EnableUnsubscribe("replace") .Build(); var message = new SendGridMessage(); message.EnableUnsubscribe("replace"); Assert.IsFalse(string.IsNullOrEmpty(message.Header.JsonString())); Assert.AreEqual(message.Header.JsonString(), mail.Header.JsonString()); }
public MailBuilder EnableUnsubscribe(string replace) { sendgrid.EnableUnsubscribe(replace); return(this); }
/// <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 SendGridMessage(); //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.DeliverAsync(message); }
public void EnableUnsubscribe() { var header = new Header(); var sendgrid = new SendGridMessage(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 SendGridMessage(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)); }