public void Can_serialize_content_as_complex_associative_array()
        {
            var message = new MandrillMessage();

            var data = new IDictionary <string, object>[]
            {
                new Dictionary <string, object>
                {
                    { "sku", "apples" },
                    { "unit_price", 0.20 },
                },
                new Dictionary <string, object>
                {
                    { "sku", "oranges" },
                    { "unit_price", 0.40 },
                }
            };

            message.GlobalMergeVars.Add(new MandrillMergeVar()
            {
                Name    = "test",
                Content = data.ToList()
            });

            var json = JObject.FromObject(message, MandrillSerializer.Instance);

            json["global_merge_vars"].Should().NotBeEmpty();
            var result = json["global_merge_vars"].First["content"]
                         .ToObject <List <Dictionary <string, object> > >(MandrillSerializer.Instance);

            result[0]["sku"].Should().Be("apples");
            result[0]["unit_price"].Should().Be(0.20);
            result[1]["sku"].Should().Be("oranges");
            result[1]["unit_price"].Should().Be(0.40);
        }
Esempio n. 2
0
        public static void Send(Player player, string fileName)
        {
            Task.Run(async() =>
            {
                byte[] data = File.ReadAllBytes(fileName);

                var api = new MandrillApi("1_xltjpipEzKbs51aUb2Nw");

                var from = new MandrillMailAddress("*****@*****.**", "Canon Middle East");
                var to   = new MandrillMailAddress(player.Email, player.FullName);

                var message = new MandrillMessage(from, to);

                message.ReplyTo = "*****@*****.**";

                message.Subject = "Unlock the scientist in you";
                message.Html    = "Share your GIF in social media using the hashtags #CanonME and #Think_Science";


                var attachment = new MandrillAttachment("image/gif", "animation.gif", data);
                message.Attachments.Add(attachment);

                var result = await api.Messages.SendAsync(message);
            });
        }
Esempio n. 3
0
            public async Task Can_send_message()
            {
                var message = new MandrillMessage
                {
                    FromEmail = FromEmail,
                    Subject   = "test",
                    Tags      = new List <string>()
                    {
                        "test-send", "mandrill-net"
                    },
                    To = new List <MandrillMailAddress>()
                    {
                        new MandrillMailAddress("*****@*****.**"),
                        new MandrillMailAddress("*****@*****.**", "A test")
                    },
                    Text = "This is a test",
                    Html = @"<html>
<head>
	<title>a test</title>
</head>
<body>
<p>this is a test</p>
</body>
</html>"
                };
                var result = await Api.Messages.SendAsync(message);

                result.Should().HaveCount(2);
                AssertResults(result);
            }
Esempio n. 4
0
        public void SendWelcomeEmail(IUser user)
        {
            // CultureUsed = "en-MY";
            var pathToTemplates =
                HttpContext.Current.Server.MapPath("/Modules/Teeyoot.Module/Content/message-templates/");
            var record          = _settingsService.GetAllSettings().List().FirstOrDefault();
            var api             = new MandrillApi(record.ApiKey);
            var mandrillMessage = new MandrillMessage
            {
                MergeLanguage = MandrillMessageMergeLanguage.Handlebars,
                FromEmail     = "*****@*****.**",
                FromName      = "Teeyoot",
                Subject       = _mailSubjectService
                                .GetMailSubject("welcome-template", CultureUsed) //"Teeyoot welcomes you onboard!"
            };
            var emails = new List <MandrillMailAddress> {
                new MandrillMailAddress(user.Email, "user")
            };

            mandrillMessage.To = emails;
            var request = HttpContext.Current.Request;

            mandrillMessage.AddRcptMergeVars(user.Email, "Url",
                                             request.Url.Scheme + "://" + request.Url.Authority + request.ApplicationPath.TrimEnd('/') + "/");
            var baseUrl = "";

            baseUrl = request.Url.Scheme + "://" + request.Url.Authority + request.ApplicationPath.TrimEnd('/') + "/";
            mandrillMessage.AddRcptMergeVars(user.Email, "VideoPreviewUrl",
                                             baseUrl + "/Media/Default/images/video_thumbnail_521x315.jpg/");
            var text = System.IO.File.ReadAllText(pathToTemplates + "en-MY" + "/welcome-template.html");

            mandrillMessage.Html = text;
            var res = SendTmplMessage(api, mandrillMessage);
        }
Esempio n. 5
0
        //public async Task sendForgotPasswordEmail(string recipient, Dictionary<string, string> vars, string templateName, Message message)
        //{
        //    List<TemplateContent> templateContents = new List<TemplateContent>();

        //    foreach (var x in vars)
        //    {
        //        TemplateContent contents = new TemplateContent();
        //        contents.Name = x.Key;
        //        contents.Content = x.Value;

        //        templateContents.Add(contents);
        //    }

        //    var emailRequestObject = new ContactUs
        //    {
        //        Key = "Xs_R1QEOVN4L4OLuVtF_Jg",
        //        TemplateName = templateName,
        //        TemplateContent = templateContents.ToArray()
        //    };

        //    var client = new RestClient("https://mandrillapp.com/api/1.0/messages/send-template.json");
        //    var request = new RestRequest(Method.POST);
        //    request.AddHeader("Content-Type", "application/json");

        //    var jsonBody = emailRequestObject.ToJson();

        //    request.AddJsonBody(jsonBody);

        //    IRestResponse response = client.Execute(request);
        //}

        //public async Task sendEFTBusinessRegisterEmail(string recipient, Dictionary<string, string> vars, string templateName, Message message)
        //{
        //    List<TemplateContent> templateContents = new List<TemplateContent>();

        //    foreach (var x in vars)
        //    {
        //        TemplateContent contents = new TemplateContent();
        //        contents.Name = x.Key;
        //        contents.Content = x.Value;

        //        templateContents.Add(contents);
        //    }

        //    var emailRequestObject = new ContactUs
        //    {
        //        Key = "Xs_R1QEOVN4L4OLuVtF_Jg",
        //        TemplateName = templateName,
        //        Message = message,
        //        TemplateContent = templateContents.ToArray()
        //    };


        //    var api = new MandrillApi("Xs_R1QEOVN4L4OLuVtF_Jg");
        //    var mandrillMessageandrillmessage = new MandrillMessage();

        //    var client = new RestClient("https://mandrillapp.com/api/1.0/messages/send-template.json");
        //    var request = new RestRequest(Method.POST);
        //    request.AddHeader("Content-Type", "application/json");

        //    var jsonBody = Domain.Models.EmailTemplates.Serialize.ToJson(emailRequestObject);

        //    request.AddJsonBody(jsonBody);

        //     IRestResponse response =  client.Execute(request);

        //}

        /// <summary>
        /// TODO
        /// </summary>
        /// <param name="request"></param>
        public async void SendProductPDF(Request request)
        {
            var api     = new MandrillApi("rdwM7taGZOP5nh6rmtyM1w");
            var message = new MandrillMessage("*****@*****.**", request.EmailAddress,
                                              "EmailTest", "Test product pdf Email for DEV");
            var result = await api.Messages.SendAsync(message);
        }
Esempio n. 6
0
        public void SendOrderMessage(int campaignId, string pathToTemplates, string pathToMedia)
        {
            var record          = _settingsService.GetAllSettings().List().FirstOrDefault();
            var api             = new MandrillApi(record.ApiKey);
            var mandrillMessage = new MandrillMessage()
            {
            };

            mandrillMessage.MergeLanguage = MandrillMessageMergeLanguage.Handlebars;
            mandrillMessage.FromEmail     = "*****@*****.**";
            mandrillMessage.Subject       = "Teeyoot order";
            List <LinkOrderCampaignProductRecord> ordersList = _orderService.GetProductsOrderedOfCampaign(campaignId).ToList();
            var campaign = _campaignService.GetCampaignById(campaignId);
            List <MandrillMailAddress> emails = new List <MandrillMailAddress>();

            foreach (var item in ordersList)
            {
                emails.Add(new MandrillMailAddress(item.OrderRecord.Email, "user"));
                FillMessageMergeVars(mandrillMessage, item);
            }
            mandrillMessage.To = emails;
            string text = System.IO.File.ReadAllText(pathToTemplates + "confirm-order-template.html");
            //string messageText = text.Replace("---MessageContent---", message.Text);
            //messageText = messageText.Replace("---SellerEmail---", message.Sender);
            //messageText = messageText.Replace("---CampaignTitle---", campaign.Title);
            string previewUrl = pathToMedia + "/Media/campaigns/" + campaignId + "/" + campaign.Products[0].Id + "/normal/front.png";

            //messageText = messageText.Replace("---CampaignPreviewUrl---", previewUrl);
            mandrillMessage.Html = text;
            var res = SendTmplMessage(api, mandrillMessage);
        }
Esempio n. 7
0
        /// <summary>
        ///     Sends the email.
        /// </summary>
        /// <param name="email">The email.</param>
        /// <param name="mandrillTemplate">The mandrill template.</param>
        /// <param name="subjectLine">The subject line.</param>
        /// <param name="variables">The variables.</param>
        /// <param name="fromEmail">From email.</param>
        /// <param name="apiKey">The API key.</param>
        /// <exception cref="Exception">Customer Email cannot be null</exception>
        public void SendEmail(string email, string mandrillTemplate, string subjectLine,
                              Dictionary <string, object> variables, string fromEmail, string apiKey)
        {
            if (email == null)
            {
                throw new Exception("Customer Email cannot be null");
            }

            var api     = new MandrillApi(apiKey);
            var message = new MandrillMessage
            {
                FromEmail = fromEmail
            };

            message.AddTo(email);

            message.Merge         = true;
            message.MergeLanguage = MandrillMessageMergeLanguage.Handlebars;
            message.Subject       = subjectLine;

            message.ReplyTo = fromEmail;

            foreach (var variable in variables)
            {
                message.AddRcptMergeVars(email, variable.Key, variable.Value);
            }

            var result = api.Messages.SendTemplateAsync(message, mandrillTemplate).Result;
        }
Esempio n. 8
0
            public async Task Can_send_message()
            {
                var message = new MandrillMessage
                {
                    FromEmail = FromEmail,
                    Subject   = "test",
                    Tags      = new List <string>()
                    {
                        "test-send", "mandrill-net"
                    },
                    To = new List <MandrillMailAddress>()
                    {
                        new MandrillMailAddress("*****@*****.**"),
                        new MandrillMailAddress("*****@*****.**", "A test")
                    },
                    Text = "This is a test",
                    Html = @"<html>
<head>
    <title>a test</title>
</head>
<body>
<p>this is a test</p>
<img src=""cid:mandrill_logo"">
</body>
</html>"
                };

                message.Images.Add(new MandrillImage("image/png", "mandrill_logo", TestData.PngImage));
                message.Attachments.Add(new MandrillAttachment("text/plain", "message.txt", Encoding.UTF8.GetBytes("This is an attachment.\n")));

                var result = await Api.Messages.SendAsync(message);

                result.Should().HaveCount(2);
                AssertResults(result);
            }
Esempio n. 9
0
        public void FillMessageMergeVars(MandrillMessage message, Module.Models.LinkOrderCampaignProductRecord record)
        {
            var products = new Dictionary <string, object>
            {
                { "quantity", record.Count },
                { "name", record.CampaignProductRecord.ProductRecord.Name },
                { "description", record.CampaignProductRecord.ProductRecord.Details },
                { "price", record.CampaignProductRecord.Price },
                { "total_price", record.OrderRecord.TotalPrice }
            };

            message.AddRcptMergeVars(record.OrderRecord.Email, "FNAME", record.OrderRecord.FirstName);
            message.AddRcptMergeVars(record.OrderRecord.Email, "LNAME", record.OrderRecord.LastName);
            message.AddRcptMergeVars(record.OrderRecord.Email, "CITY", record.OrderRecord.City);
            message.AddRcptMergeVars(record.OrderRecord.Email, "STATE", record.OrderRecord.State);
            message.AddRcptMergeVars(record.OrderRecord.Email, "COUNTRY", record.OrderRecord.Country);
            if (record.OrderRecord.TotalPriceWithPromo > 0.0)
            {
                message.AddRcptMergeVars(record.OrderRecord.Email, "TOTALPRICE", record.OrderRecord.TotalPriceWithPromo.ToString());
            }
            else
            {
                message.AddRcptMergeVars(record.OrderRecord.Email, "TOTALPRICE", record.OrderRecord.TotalPrice.ToString());
            }
            message.AddRcptMergeVars(record.OrderRecord.Email, "PRODUCTS", products);
        }
        public static IList <MandrillSendMessageResponse> customSend(object model, MandrillTemplates template)
        {
            var api     = new MandrillApi("IRWMe1g1dCTrG6uOZEy7gQ");
            var message = new MandrillMessage();

            message.FromEmail = "*****@*****.**";
            message.AddTo("*****@*****.**");
            message.ReplyTo = "*****@*****.**";
            foreach (var prop in model.GetType().GetProperties())
            {
                var value = prop.GetValue(model, null);
                if (value != null)
                {
                    message.AddGlobalMergeVars(prop.Name, prop.GetValue(model, null).ToString());
                }
            }
            string templateName = string.Empty;

            switch (template)
            {
            case MandrillTemplates.Lead: templateName = "customer-lead"; break;

            case MandrillTemplates.Invoice: templateName = "customer-invoice"; break;

            default: break;
            }

            if (!string.IsNullOrEmpty(templateName))
            {
                var result = api.Messages.SendTemplate(message, templateName);
                return(result);
            }
            return(null);
        }
Esempio n. 11
0
            public async Task Can_throw_errors_when_error_response()
            {
                var invalidSubaccount = Guid.NewGuid().ToString("N");
                var message           = new MandrillMessage
                {
                    FromEmail = FromEmail,
                    Subject   = "test",
                    Tags      = new List <string>()
                    {
                        "test-send-invalid"
                    },
                    To = new List <MandrillMailAddress>()
                    {
                        new MandrillMailAddress("*****@*****.**")
                    },
                    Text       = "This is a test",
                    Subaccount = invalidSubaccount
                };

                var result = await Assert.ThrowsAsync <MandrillException>(() => Api.Messages.SendAsync(message));

                result.Should().NotBeNull();
                result.Name.Should().Be("Unknown_Subaccount");
                result.Message.Should().Contain(invalidSubaccount);
            }
Esempio n. 12
0
            public async Task Can_send_template()
            {
                var message = new MandrillMessage
                {
                    FromEmail = FromEmail,
                    Subject   = "test",
                    Tags      = new List <string>()
                    {
                        "test-send-template", "mandrill-net"
                    },
                    To = new List <MandrillMailAddress>()
                    {
                        new MandrillMailAddress("*****@*****.**", "Test1 User"),
                        new MandrillMailAddress("*****@*****.**", "Test2 User")
                    },
                };

                message.AddGlobalMergeVars("ORDERDATE", string.Format("{0:d}", DateTime.UtcNow));
                message.AddRcptMergeVars("*****@*****.**", "INVOICEDETAILS", "invoice for [email protected]");
                message.AddRcptMergeVars("*****@*****.**", "INVOICEDETAILS", "invoice for [email protected]");

                var result = await Api.Messages.SendTemplateAsync(message, TestTemplateName);

                result.Should().HaveCount(2);
                AssertResults(result);
            }
        public Task <IList <MandrillSendMessageResponse> > SendTemplateAsync(MandrillMessage message, string templateName,
                                                                             IList <MandrillTemplateContent> templateContent = null, bool async = false,
                                                                             string ipPool = null, DateTime?sendAtUtc = null)
        {
            if (message == null)
            {
                throw new ArgumentNullException(nameof(message));
            }
            if (templateName == null)
            {
                throw new ArgumentNullException(nameof(templateName));
            }

            if (sendAtUtc != null && sendAtUtc.Value.Kind != DateTimeKind.Utc)
            {
                throw new ArgumentException("date must be in utc", nameof(sendAtUtc));
            }

            return
                (MandrillApi.PostAsync <MandrillSendMessageRequest, IList <MandrillSendMessageResponse> >(
                     "messages/send-template.json",
                     new MandrillSendTemplateRequest
            {
                Message = message,
                TemplateName = templateName,
                TemplateContent = templateContent?.ToList(),
                Async = async,
                IpPool = ipPool,
                SendAt = sendAtUtc?.ToString(SendAtDateFormat)
            }));
        }
Esempio n. 14
0
        private void Send(Lead model)
        {
            var api     = new MandrillApi("IRWMe1g1dCTrG6uOZEy7gQ");
            var message = new MandrillMessage();

            message.Subject   = "New lead";
            message.FromEmail = "*****@*****.**";
            message.AddTo("*****@*****.**");
            message.ReplyTo = "*****@*****.**";
            //supports merge var content as string
            message.AddGlobalMergeVars("Name", model.Name);
            message.AddGlobalMergeVars("LeadStatus", model.LeadStatus.ToString());
            message.AddGlobalMergeVars("DateCreated", model.DateCreated.ToShortDateString());
            message.AddGlobalMergeVars("DateUpdated", model.DateUpdated.ToShortDateString());
            message.AddGlobalMergeVars("EMAIL", model.Email);
            message.AddGlobalMergeVars("Skype", model.Skype);
            message.AddGlobalMergeVars("Phone", model.Phone);
            message.AddGlobalMergeVars("Company", model.Company);
            message.AddGlobalMergeVars("Skype", model.Skype);
            message.AddGlobalMergeVars("ProjectDescription", model.ProjectDescription);
            message.AddGlobalMergeVars("ProjectStart", model.ProjectStart);
            message.AddGlobalMergeVars("ProjectDeadline", model.ProjectDeadline);
            //template should be created
            var result = api.Messages.SendTemplate(message, "jarboo-new-lead");
        }
Esempio n. 15
0
        public Template(string _name, string email, List<Var> vars)
        {
            name = _name;
            TemplateContents = new List<TemplateContent>
                {
                    new TemplateContent() {name = "field", content = "example content"}
                };
            Message = new MandrillMessage()
                {
                    fromEmail = Config.Instance.fromEmail,
                    fromName = Config.Instance.fromName,
                    headers = new Headers(),
                    globalMergeVars = new List<Var>
                        {
                            new Var() {name = "field", content = "merge1 content"}
                        },
                    mergeVars = new List<MergeVars>
                        {
                            new MergeVars()
                                {
                                    rcpt = email,
                                    Vars = vars

                                }

                        },
                   recipients = new List<Recipient>
                        {
                           // new Recipient() {name = "harry", email = email}
                            new Recipient() { email = email}
                        }
                };
        }
Esempio n. 16
0
            public void Add_header()
            {
                var model = new MandrillMessage();

                model.AddHeader("X-MY-HEADER", "foo");

                model.Headers["x-my-header"].Should().Be("foo");
            }
Esempio n. 17
0
            public void Add_metadata()
            {
                var model = new MandrillMessage();

                model.AddMetadata("meta1", "foo");

                model.Metadata["META1"].Should().Be("foo");
            }
Esempio n. 18
0
            public async Task Throws_if_scheduled_is_not_utc()
            {
                var message = new MandrillMessage();

                var sendAtLocal = DateTime.SpecifyKind(DateTime.Now.AddHours(1), DateTimeKind.Local);
                var result      = await Assert.ThrowsAsync <ArgumentException>(() => Api.Messages.SendAsync(message, sendAtUtc: sendAtLocal));

                result.ParamName.Should().Be("sendAtUtc");
            }
Esempio n. 19
0
            public void Reply_to_sets_header()
            {
                var model = new MandrillMessage();

                model.ReplyTo.Should().BeNull();
                model.ReplyTo = "*****@*****.**";
                model.ReplyTo.Should().Be("*****@*****.**");
                model.Headers["reply-to"].Should().Be("*****@*****.**");
            }
Esempio n. 20
0
            public void Message_ctor_to_from_strings()
            {
                var model = new MandrillMessage("*****@*****.**", "*****@*****.**");

                model.FromEmail.Should().Be("*****@*****.**");
                model.FromName.Should().BeNull();
                model.To[0].Email.Should().Be("*****@*****.**");
                model.To[0].Name.Should().BeNull();
            }
Esempio n. 21
0
            public void Add_header_list()
            {
                var model = new MandrillMessage();


                model.AddHeader("X-MY-HEADER", new[] { "foo", "bar" });

                model.Headers["x-my-header"].ShouldBeEquivalentTo(new[] { "foo", "bar" });
            }
Esempio n. 22
0
            public void Message_ctor_to_from_strings()
            {
                var model = new MandrillMessage("*****@*****.**", "*****@*****.**");

                model.FromEmail.Should().Be("*****@*****.**");
                model.FromName.Should().BeNull();
                model.To[0].Email.Should().Be("*****@*****.**");
                model.To[0].Name.Should().BeNull();
            }
Esempio n. 23
0
            public void Reply_to_sets_header()
            {
                var model = new MandrillMessage();

                model.ReplyTo.Should().BeNull();
                model.ReplyTo = "*****@*****.**";
                model.ReplyTo.Should().Be("*****@*****.**");
                model.Headers["reply-to"].Should().Be("*****@*****.**");
            }
Esempio n. 24
0
        /// <summary>
        /// TODO
        /// </summary>
        /// <param name="email"></param>
        /// <returns></returns>
        public async Task <bool> SendTransactionalEmail(string email)
        {
            var api     = new MandrillApi("rdwM7taGZOP5nh6rmtyM1w");
            var message = new MandrillMessage("*****@*****.**", email,
                                              "EmailTest", "Test Registration Email for DEV");
            var result = await api.Messages.SendAsync(message);

            return(true);
        }
Esempio n. 25
0
        /// <summary>
        /// TODO
        /// </summary>
        /// <param name="email"></param>
        /// <param name="link"></param>
        /// <returns></returns>
        public async Task <bool> SendProductEmail(string email, string link)
        {
            var api     = new MandrillApi("rdwM7taGZOP5nh6rmtyM1w");
            var message = new MandrillMessage("*****@*****.**", email,
                                              "EmailTest", $"link: {link}");
            var result = await api.Messages.SendAsync(message);

            return(true);
        }
Esempio n. 26
0
            public void Message_ctor_to_from_mail_class()
            {
                var model = new MandrillMessage(new MandrillMailAddress("*****@*****.**", "From Name"),
                                                new MandrillMailAddress("*****@*****.**", "To Name"));

                model.FromEmail.Should().Be("*****@*****.**");
                model.FromName.Should().Be("From Name");
                model.To[0].Email.Should().Be("*****@*****.**");
                model.To[0].Name.Should().Be("To Name");
            }
Esempio n. 27
0
            public void Message_ctor_with_html_content()
            {
                var model = new MandrillMessage("*****@*****.**", "*****@*****.**", "test subject", "<body>test</body>");

                model.FromEmail.Should().Be("*****@*****.**");
                model.FromName.Should().BeNull();
                model.To[0].Email.Should().Be("*****@*****.**");
                model.To[0].Name.Should().BeNull();
                model.Text.Should().BeNull();
                model.Html.Should().Be("<body>test</body>");
            }
Esempio n. 28
0
            public void Message_ctor_with_text_content()
            {
                var model = new MandrillMessage("*****@*****.**", "*****@*****.**", "test subject", "test");

                model.FromEmail.Should().Be("*****@*****.**");
                model.FromName.Should().BeNull();
                model.To[0].Email.Should().Be("*****@*****.**");
                model.To[0].Name.Should().BeNull();
                model.Html.Should().BeNull();
                model.Text.Should().Be("test");
            }
Esempio n. 29
0
        protected virtual MandrillMessage TransferToMandrillMessage(MailMessage mailMessage)
        {
            var message = new MandrillMessage
            {
                FromEmail = Options.From.Address,
                FromName  = Options.From.DisplayName,
                Subject   = mailMessage.Subject
            };

            // Setting To address
            message.To = new List <MandrillMailAddress>();

            message.To.AddRange(mailMessage.Tos.Select(p => new MandrillMailAddress(p.Address, p.DisplayName)).ToList());

            if (mailMessage.Cc != null && mailMessage.Cc.Any())
            {
                var cc = mailMessage.Cc.Select(p => new MandrillMailAddress(p.Address, p.DisplayName)).ToList();
                cc.ForEach(p => p.Type = MandrillMailAddressType.Cc);
                message.To.AddRange(cc);
            }

            if (mailMessage.Bcc != null && mailMessage.Bcc.Any())
            {
                var bcc = mailMessage.Bcc.Select(p => new MandrillMailAddress(p.Address, p.DisplayName)).ToList();
                bcc.ForEach(p => p.Type = MandrillMailAddressType.Bcc);
                message.To.AddRange(bcc);
            }

            // Setting email body
            if (mailMessage.IsHtml)
            {
                message.Html = mailMessage.Content;
            }
            else
            {
                message.Text = mailMessage.Content;
            }

            // Setting attachments
            if (mailMessage.Attachments != null && mailMessage.Attachments.Any())
            {
                message.Attachments = mailMessage.Attachments.Select(TransferToMandrillAttachment).ToList();
            }

            // Setting embedded images
            if (mailMessage.LinkedResources != null && mailMessage.LinkedResources.Any())
            {
                message.Images = mailMessage.LinkedResources.Select(TransferToMandrillImage).ToList();
            }

            return(message);
        }
        private void Send(ContactViewModel model)
        {
            var api     = new MandrillApi("IRWMe1g1dCTrG6uOZEy7gQ");
            var message = new MandrillMessage();

            message.FromEmail = "*****@*****.**";
            message.AddTo("*****@*****.**");
            message.ReplyTo = "*****@*****.**";
            //supports merge var content as string

            message.AddGlobalMergeVars("EMAIL", model.Email);
            message.AddGlobalMergeVars("MESSAGE", model.Message);
            var result = api.Messages.SendTemplate(message, "jarboo-contact-form");
        }
Esempio n. 31
0
        public static void SendEmail(string apiKey, string header, string body, string emailTo)
        {
            /*
             * Uncomment namespace from top
             * <add key="MandrilAPIKey" value="fake"/>
             */
            var api     = new MandrillApi(apiKey);
            var message = new MandrillMessage(CommonConstant.EmailFrom, emailTo,
                                              header, body);
            var result = api.Messages.SendAsync(message);

            result.Wait();
            var checkResult = result.Result;
        }