You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mustache-sharp渲染邮件模板时重复空行问题求助

解决mustache-sharp模板渲染邮件时换行重复的问题

方案1:简化模板,移除多余的newline标签

你的模板中{{#newline}}和文本自带的换行叠加,导致重复空行。直接用原生换行替代标签,就能按预期渲染:

Good Day,

The following asset has been retired by {{Actor}}:

{{AssetNumber}}: {{AssetDescription}}
Date retirement: {{DateRetired:dd.MM.yyyy}}

Comment: {{Comment}} 


Best Regards

Team Finances


Link: {{SystemUrl}}

方案2:自定义newline标签的输出行为

如果必须保留newline标签,可以在mustache-sharp中注册自定义Lambda,强制只输出单个换行:

var compiler = new FormatCompiler();
compiler.RegisterTag("newline", (writer, args, context) =>
{
    writer.Write(Environment.NewLine);
});

// 使用自定义编译器渲染模板
var template = compiler.Compile(yourTemplateContent);
var result = template.Render(yourDataModel);

方案3:适配邮件格式要求

如果是邮件客户端解析问题(比如纯文本邮件对换行的处理),可以:

  • 若为HTML邮件,用<br>标签替代换行(需调整模板为HTML格式)
  • 若为纯文本邮件,确保模板中仅保留必要的单个换行,避免标签与原生换行叠加

内容的提问来源于stack exchange,提问作者marc_s

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 10:06:05