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);
        }
Example #2
0
        public void SendSellerMessage(int messageId, string pathToTemplates, string pathToMedia)
        {
            var record          = _settingsService.GetAllSettings().List().FirstOrDefault();
            var api             = new MandrillApi(record.ApiKey);
            var mandrillMessage = new MandrillMessage()
            {
            };
            var message = _messageService.GetMessage(messageId);

            mandrillMessage.MergeLanguage = MandrillMessageMergeLanguage.Handlebars;
            mandrillMessage.FromEmail     = message.Sender;
            mandrillMessage.Subject       = message.Subject;
            List <LinkOrderCampaignProductRecord> ordersList = _orderService.GetProductsOrderedOfCampaign(message.CampaignId).ToList();
            var campaign = _campaignService.GetCampaignById(message.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 + "seller-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/" + message.CampaignId + "/" + campaign.Products[0].Id + "/normal/front.png";

            messageText          = messageText.Replace("---CampaignPreviewUrl---", previewUrl);
            mandrillMessage.Html = messageText;
            var res = SendTmplMessage(api, mandrillMessage);

            _notifier.Information(T("Message has been sent!"));
            message.IsApprowed = true;
        }