0

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"))}));

おそらく私が正しく設定していないものがありますが、正確にはわかりません。

ありがとう、

4

1 に答える 1

1

これは私にとっては一種の失敗ですが、将来誰かが同じ間違いをした場合は回答を投稿します. これらの指示に従って、asp.net の外部で Postal を実行しようとしました: http://aboutcode.net/postal/outside-aspnet.html、しかし、私は既に asp.net にいたので、初期化せずに直接 EmailService を使用しますViewEngineCollection。

于 2014-12-01T16:11:08.080 に答える