Beispiel #1
0
        // 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());
        }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
 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));
        }