mvcmailer - 消息中没有正文(MvcMailer + Orchard CMS)

标签 mvcmailer

我在我创建的模块中使用 MvcMailer 和 Orchard CMS,虽然我可以用它来发送电子邮件,但电子邮件正文是空的,让我相信 Orchard 没有接收“/[模块]/Views/[NameOfMailerFolder/_Layout.cshtml"或 ".../[NameofMailerView].cshtml"。

起初我认为将“/[Module]/Views/[NameOfMailerFolder]”移动到“/[ThemeBeingUsed]/Views”文件夹或 Orchard.Web 的“/Views”文件夹可能会起作用(我认为只是没有找到路径)。但运气不佳。

我尝试在模块中使用route.cs,但我不知道是否可以将 CONTROLLER 和 ACTION 留空(“”)并将“/[Module]/Views/[NameOfMailerFolder] “只在那里。无论如何,我为“[NameOfMailerView].cshtml”创建了一条路线,但这也不起作用。我想知道这是否是正确的方法(我没有在 Controller 中设置操作,但我正在考虑这样做 - 只是必须重定向?)。

我有点迷失,所以我感谢任何指导。

最佳答案

事实证明,Mailer 代码使用了 MasterName,这似乎会导致 Orchard CMS 的处理方式出现问题。

这就是让它为我工作的原因(使用 1.3 或 Orchard.Web):

public QuoteMailers()
    : base()
{
    //LEAVE OUT FOLLOWING FOR MVC MAILER TO WORK
    //MasterName = "_Layout";
}

QuoteMailers 只是我的名字,如果你在 VS 中使用 Package Manger Console,MvcMailer 会根据你使用的参数创建一个名称。

注释掉 MasterName 才是有效的!这个“hack”的唯一缺点是我不使用通用的 _Layout 文件。对我来说这没什么大不了的,因为我能够使用 Partials。

关于mvcmailer - 消息中没有正文(MvcMailer + Orchard CMS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748970/

相关文章:

c# - 无法向 CaSTLe Windsor 注册 MvcMailer

mvcmailer - MVCMailer 的问题

asp.net-mvc - 使用 MVCMailer 尝试发送到非本地电子邮件地址时,邮件服务器需要身份验证

asp.net-mvc-4 - 值未落在预期误差范围内

asp.net-mvc - web.config 相关错误 - 每个配置文件的部分只能出现一次

asp.net-mvc-3 - 如何在 web.config 中设置不同的 smtpclient 实例?

asp.net-mvc-3 - 在非MVC项目中使用MvcMailer

c# - MVCMailer 4.5 中的更改发件人电子邮件地址