Asp.net mvc 如何在Postal.MVC中生成动态电子邮件

Asp.net mvc 如何在Postal.MVC中生成动态电子邮件,asp.net-mvc,postal,Asp.net Mvc,Postal,我想将内容注入数据库中的电子邮件中。我试着在视野中这样做 To: @ViewBag.To From: lolcats@website.com Subject: Important Message Static Text @Html.Raw(MvcApplication1.Data.Email.GetBlah()) @MvcApplication1.Data.Email.GetBlah() GetBlah现在只返回这个 public static string GetBlah()

我想将内容注入数据库中的电子邮件中。我试着在视野中这样做

To: @ViewBag.To
From: lolcats@website.com
Subject: Important Message

Static Text

@Html.Raw(MvcApplication1.Data.Email.GetBlah())
@MvcApplication1.Data.Email.GetBlah()
GetBlah现在只返回这个

public static string GetBlah()
        {
            return "Hello, my name is @ViewBag.Name";
        }
不出所料,发送的电子邮件只包含文本值,没有合并

Static Text

Hello, my name is @ViewBag.Name
Hello, my name is @ViewBag.Name
我之所以想这样做,是因为每次我需要更改电子邮件内容时,我都要发布,而且我还需要其他语言。所以我只想让控制器决定使用什么样的数据,并在合并时注入数据


邮递公司能做到这一点吗?我可以创建自己的EmailViewRenderer并将其传递出去吗?

我认为邮寄与此无关。razor视图引擎将结果解释为字符串,并且不解析其中的任何razor语法。您应该将方法替换为
@Html.Partial()
——但是动态加载部分razor视图(使用虚拟路径提供程序)。更多细节请参见此答案:谢谢,詹姆斯。我认为这正是我所需要的,也是许多其他事情的一个很好的解决方案。好极了我现在正努力让它工作。