Example #1
0
        public void SendMiniSiteActivationEmail(int miniSiteId, int languageId)
        {
            var miniSite = _miniSiteService.GetMiniSiteById(miniSiteId);
            //MiniSiteNew

            var template = _messageTemplateService.GetMessageTemplateByName("MiniSiteNew");

            template.Subject = template.GetLocalized(x => x.Subject, languageId, false, false);
            template.Body    = template.GetLocalized(x => x.Body, languageId, false, false);

            //template
            var tokens = new List <Token>();

            _messageTokenProvider.AddStoreTokens(tokens);
            _messageTokenProvider.AddNewMiniSiteTokens(tokens, miniSite);
            string subject = _tokenizer.Replace(template.Subject, tokens, true);
            string body    = _tokenizer.Replace(template.Body, tokens, true);

            var emailAccount = _emailAccountService.GetEmailAccountById(_emailAccountSettings.DefaultEmailAccountId);
            var email        = new QueuedEmail()
            {
                Priority       = 3,
                From           = emailAccount.Email,
                FromName       = emailAccount.DisplayName,
                To             = emailAccount.Email,
                Subject        = subject,
                Body           = body,
                CreatedOnUtc   = DateTime.UtcNow,
                EmailAccountId = emailAccount.Id
            };

            _queuedEmailService.InsertQueuedEmail(email);
        }