Postal ( http://aboutcode.net/postal/ ) を使用して、テンプレート ビューから電子メールを生成したいと考えています。ハイブリッド MVC と WebForms アプリで使用しています。
Postal を使用して MailMessage を生成し、従来のカスタム ロジックを適用して送信しようとしています。
私は EmailService.CreateMailMessage を使用していますが、ビューで @Html または @Url を使用するとすぐに、プレーンな html 電子メールで問題なく動作します。次のような例外が発生します。
テンプレートをコンパイルできません。名前 '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"))}));
おそらく私が正しく設定していないものがありますが、正確にはわかりません。
ありがとう、