具有HTML代码的Kentico电子邮件模板宏

时间:2019-01-15 12:49:02

标签: kentico

我为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 :(得分:1)

这是发送电子邮件并为我工作的示例代码:

  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%}

答案 1 :(得分:0)

HtmlEncode会让您的<br>看起来像文本。至少您需要反转第一行和第二行。