Razor电子邮件模板在.NET Standard 2.1 / Core 3.1中

4

我想创建一个专门用于发送电子邮件的服务,这将基于一个 .NET Core 3.1 应用程序及其默认层(应用程序、领域、合同、基础架构)。

在这个项目中,我想创建一个类库来保存我的Razor模板,并解析它们,以便应用程序层可以将其作为电子邮件发送(包括HTML和非HTML),当模型被应用后。然而,这就是我遇到问题的地方。

我能找到的每个例子都针对旧版本的.NET Core应用程序,这意味着像RazorEngine.NetCore这样的NuGet包将无法使用。

https://emilol.com/razor-mailer/这样的示例也无法使用,因为它们针对旧框架。

对Razor客户端库的深入研究也没有起作用,因为我试图将此示例调整为3.1 https://derekarends.com/how-to-create-email-templates-with-asp-net-core-2-2/

有没有办法使其工作,或者我真的需要针对旧框架才能创建电子邮件模板库?


4
尝试使用RazorLight - poke
你能否详细说明在使用 Razor SDK 时出了哪些问题? - Rosco
@Rosco,你指的是哪一个?RCL吗?它无法识别cshtml文件,并在编译后失败。我目前正在研究razorlight,但在第一次运行时编译模板遇到了困难。 - Vincentw
问题中的第二个链接已经失效。 - cdonner
1个回答

1

最近我在寻找一个简单的解决方案来处理我的 Blazor 应用程序,然后发现了这个 GitHub 项目:BlazorTemplater

它非常容易使用。

  1. 安装Nuget包:BlazorTemplater
  2. 创建带有模板参数的Razor文件:
    <p>你好,@FirstName。</p>
    
    @code {
        [Parameter]
        public string FirstName { get; set; }
    }
    
  3. 将Razor组件呈现为字符串,以便您可以在电子邮件正文中使用它:
    private void SendWelcomeEmail()
    {
        string html = new ComponentRenderer<WelcomeEmailTemplate>()
            .Set(c => c.FirstName, Applicant.FirstName)
            .Render();
    
        Console.WriteLine(html);
    }
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接