// Use NuGet to install SendGrid (Basic C# client lib) private void configSendGridasync() { string filename = System.Web.HttpContext.Current.Server.MapPath(@"~/Content/Reports/template.htm");// "~/Content/Reports/template.htm"; string mailboy = System.IO.File.ReadAllText(filename); filename = System.Web.HttpContext.Current.Server.MapPath(@"~/Content/Reports/emailTemplate.htm");// "~/Content/Reports/template.htm"; string emailTemplate = System.IO.File.ReadAllText(filename); var myMessage = new SendGridMessage(); myMessage.AddTo("*****@*****.**"); myMessage.AddCc("*****@*****.**"); myMessage.From = new System.Net.Mail.MailAddress( "*****@*****.**", "Guimarães Mahota"); myMessage.Subject ="teste sendgrid"; myMessage.Text = mailboy; myMessage.Html = mailboy; myMessage.EnableTemplate(emailTemplate); var credentials = new NetworkCredential( ConfigurationManager.AppSettings["mailAccount"], ConfigurationManager.AppSettings["mailPassword"] ); // Create a Web transport for sending email. var transportWeb = new Web(credentials); // Send the email. if (transportWeb != null) { transportWeb.DeliverAsync(myMessage); } else { Trace.TraceError("Failed to create Web transport."); } }
public void Test_EnablingTemplate() { var mail = BasicMailBuilder .EnableTemplate("<% body %>") .Build(); var message = new SendGridMessage(); message.EnableTemplate("<% body %>"); Assert.IsFalse(string.IsNullOrEmpty(message.Header.JsonString())); Assert.AreEqual(message.Header.JsonString(), mail.Header.JsonString()); }
/// <summary> /// This feature wraps an HTML template around your email content. /// This can be useful for sending out newsletters and/or other HTML formatted messages. /// http://docs.sendgrid.com/documentation/apps/email-templates/ /// </summary> public void EnableTemplateEmail() { //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 var timestamp = DateTime.Now.ToString("HH:mm:ss tt"); message.Html = "<p style='color:red';>Hello World</p>"; message.Html += "<p>Sent At : " + timestamp + "</p>"; message.Text = "Hello World plain text"; //set the message subject message.Subject = "Hello World Template Test"; //create an instance of the Web transport mechanism var transportInstance = new Web(new NetworkCredential(_username, _password)); //enable template message.EnableTemplate("<p>My Email Template <% body %> is awesome!</p>"); //send the mail transportInstance.DeliverAsync(message); }
public MailBuilder EnableTemplate(string html) { sendgrid.EnableTemplate(html); return(this); }
public void EnableTemplate() { var header = new Header(); var sendgrid = new SendGridMessage(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)); }