Макросы шаблона электронной почты Kentico с кодом HTML - PullRequest
0 голосов
/ 15 января 2019

Я установил макрос для моего HTML-шаблона электронной почты следующим образом:

message = message.Replace("\n", "<br>"); //tried with and without
message = Server.HtmlEncode(message); //tried with and without
MacroContext.GlobalResolver.SetNamedSourceData("Message", message);

Но электронная почта просто отображает тег <br> в виде текста.

Я определенно получаю HTML-сообщение электронной почтыа не простой текст.

Если я не манипулирую текстом и оставляю его без изменений, то \n без изменений и проверяю электронную почту в отправленной очереди, она отображается так, как должна!

Как мне получитьперевод строки шаблона электронной почты?

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Это пример кода, который отправляет письмо и работает для меня:

  var emailTemplate = EmailTemplateProvider.GetEmailTemplate(EmailName, SiteContext.CurrentSiteID);
            var message = "<br/>";
            MacroResolver resolver = MacroResolver.GetInstance();
            resolver.SetNamedSourceData("Message", message);

            EmailMessage message = new EmailMessage();
            message.From = resolver.ResolveMacros(emailTemplate.TemplateFrom);
            message.Recipients = user.Email;
            message.Body = resolver.ResolveMacros(emailTemplate.TemplateText);
            message.Subject = resolver.ResolveMacros(emailTemplate.TemplateSubject);

            EmailSender.SendEmail(SiteContext.CurrentSiteName, message, emailTemplate.TemplateName, resolver,
                false);

Макрос в шаблоне электронной почты:

{%Message%}
0 голосов
/ 15 января 2019

Ну, HtmlEncode сделает ваш <br> похожим на текст. По крайней мере, вам нужно повернуть 1-ю и 2-ю строчку.

...