0

我想使用 Postal ( http://aboutcode.net/postal/ ) 从模板视图生成电子邮件。我们在混合 MVC 和 WebForms 应用程序中使用它。

我正在尝试使用 Postal 生成 MailMessage,然后应用一些旧的自定义逻辑并发送它们。

我正在使用 EmailService.CreateMailMessage,它适用于普通的 html 电子邮件,只要我在视图中使用 @Html 或 @Url,就会收到如下异常:

无法编译模板。当前上下文中不存在名称“Url”。

这是一些代码:

dynamic email = new Email("ForgotPassword");
email.To = "..."; // removed email here
email.Subject = "Forgot your password";

var service = Factory.Get<IEmailService>();
var msg = service.CreateMailMessage(email);

我们也使用 Ninject 作为我们的依赖注入框架,我定义了这个:

Bind<IEmailService>().ToMethod(x => new EmailService(new ViewEngineCollection {new FileSystemRazorViewEngine(HostingEnvironment.MapPath("~/Views/Emails"))}));

可能有些东西我设置不正确,但我不知道到底是什么。

谢谢,

4

1 回答 1

1

这对我来说有点失败,但如果将来有人犯同样的错误,我会发布答案。我尝试按照这些说明在 asp.net 之外运行 Postal:http: //aboutcode.net/postal/outside-aspnet.html,但由于我已经在 asp.net 中,我将直接使用 EmailService 而无需初始化它一个 ViewEngineCollection。

于 2014-12-01T16:11:08.080 回答