0

100,000 通のメールを送信する必要があるため、プロセスを効率的にする必要があります。

Razor をテンプレート エンジンとして使用できるため、MvcMailer を使用しています。

私の問題:結果の電子メールは2つの部分にあります:

  • みんなの共通部分
  • 受信者ごとのカスタムパーツ

カスタム部分があるので、全員に新しいメールを作成する必要があります。しかし、MvcMailer はすべてのメールに対してビュー エンジンを実行しているため、共通部分が 100 000 レンダリングされ、これは受け入れられません。

これまでの私の唯一のアイデア:

  • プロセスの最初に共通部分をレンダリングするために EmailBody メソッドを使用します (この共通部分には「{USER-CONTENT}」のようなものがあります)。

    string commonContent = mailer.EmailBody("Common");

  • メール本文にユーザー コンテンツのみを入力して実行する

    myMail.Body = commonContent.Replace("{USER-CONTENT}",myMail.Body)

しかし、それはまだ汚い解決策です: Razor 内で独自のテンプレート言語を作成します。

もっと良いアイデアはありますか?

4

0 に答える 0