如何在不发送的情况下转换Kentico电子邮件模板?

如何在不发送的情况下转换Kentico电子邮件模板?,kentico,Kentico,我的Kentico服务器无法发送电子邮件,因此我必须使用宏解析器转换电子邮件,但使用其他方式发送 var clients = new List<Client>(); var macroResolver = MacroResolver.GetInstance(); macroResolver.AddDynamicParameter("clients", clients); var emailMessage = new EmailMessage { From = "some

我的Kentico服务器无法发送电子邮件,因此我必须使用宏解析器转换电子邮件,但使用其他方式发送

var clients = new List<Client>();

var macroResolver = MacroResolver.GetInstance();
macroResolver.AddDynamicParameter("clients", clients);

var emailMessage = new EmailMessage { 
    From = "someone@somewhere.com", 
    Recipients = "otherone@somewhere.com", 
    Subject = "Whatever" 
};

var template = EmailTemplateProvider.GetEmailTemplate(templateName, siteName);

EmailSender.SendEmailWithTemplateText(siteName, emailMessage, template, macroResolver, true);
var clients=newlist();
var macroResolver=macroResolver.GetInstance();
宏解析器.AddDynamicParameter(“客户端”,客户端);
var emailMessage=新的emailMessage{
From=”someone@somewhere.com", 
收件人=”otherone@somewhere.com", 
Subject=“无论如何”
};
var template=EmailTemplateProvider.GetEmailTemplate(templateName,siteName);
EmailSender.SendEmailWithTemplateText(站点名称、emailMessage、模板、宏解析程序、true);

换句话说,我想使用Kentico作为模板引擎。无论如何都有办法做到这一点吗?

方法的基本功能是通过模板中的等效项填充消息的空字段,并解析其中的宏值。如果您仅在邮件正文之后,则可以通过以下方式创建电子邮件:

emailMessage.Body = macroResolver.ResolveMacros(emailMessage.Body);
emailMessage.PlainTextBody = macroResolver.ResolveMacros(emailMessage.PlainTextBody);
对于大多数情况,最好告诉解析器对解析值进行编码。您可以通过:
resolver.EncodeResolvedValues=true


您还将整个“客户端”集合传递给解析器。您可能需要一个接一个地生成循环中的电子邮件。

SendEmailWithTemplateText
方法的基本功能是通过模板中的等效项填充消息的空字段,并解析其中的宏值。如果您仅在邮件正文之后,则可以通过以下方式创建电子邮件:

emailMessage.Body = macroResolver.ResolveMacros(emailMessage.Body);
emailMessage.PlainTextBody = macroResolver.ResolveMacros(emailMessage.PlainTextBody);
对于大多数情况,最好告诉解析器对解析值进行编码。您可以通过:
resolver.EncodeResolvedValues=true

您还将整个“客户端”集合传递给解析器。你可能需要一个接一个的循环生成电子邮件