1

カスタム DotNetNuke モジュールで、テンプレートに基づいて電子メールを送信できるようにしたいと考えています。特定のテンプレート パラメータにテキスト値を挿入できるようにしたいと考えています。また、サイト管理者がメールの内容を編集できるようにしたいと考えています。私は、管理者がレイアウトとテキストをかなり確実な方法でできるようにしたいと考えています。

1 つの解決策は、ローカライズ文字列を使用して、電子メールの構造をどこかにハードコーディングした電子メールの内容をカスタマイズできるようにすることです。管理者がレイアウトを変更できないため、これは望ましくありません。

もう 1 つの解決策は、電子メールの内容を含むように Text/HTML モジュールをセットアップすることです。これには、管理者がテキストとレイアウトを編集できるという利点があります。管理者が、電子メール リーダーがアクセスできない CSS スタイルシートにあるスタイルを使用する可能性があるという欠点があります。

これを行う方法について他に考えはありますか?サードパーティのプラグインまたはモジュールで問題ありません。私がレビューした電子メール モジュールについては、電子メール キャンペーンの設定に関するものです。私が見たものについては、カスタム モジュールからプログラムで電子メールを送信できるかどうか確信が持てませんでした。

ありがとう

4

2 に答える 2

2

メール テンプレートが 2000 文字未満になる可能性がある場合は、モジュール設定を使用してデータを保存することをお勧めします。UpdateSettings メソッドをオーバーライドすることで、標準の Settings.ascx コントロールでこれを行うことができます。2000 文字の制限は、TabModuleSettings.SettingValue データベース フィールドのサイズに基づいています。

    public override void UpdateSettings()
    {
        try
          {
            ModuleController objModules = new ModuleController();
            objModules.UpdateTabModuleSetting(TabModuleId, "EmailTemplate", this.txtEmailTemplate.Text);

            SynchronizeModule();              
        }
        catch (Exception exc) //Module failed to load
        {
            Exceptions.ProcessModuleLoadException(this, exc);
        }
    }
于 2009-04-03T16:24:45.200 に答える
1

個人的にはいくつかのオプションがあります。

  1. ローカリゼーション ファイル。これは、サイト管理者が Admin -> Languages から簡単に変更できます。ただし、これはポータルごとのカスタマイズです。
  2. モジュール設定ですが、2000 文字に非常に制限されていますが、mdoule に基づいてユーザーが変更できるようにすることができます。
  3. SQL またはファイル ベースで、必要に応じてカスタマイズできるようにし、アップロード/ダウンロード/管理を簡単に行う方法を提供します。
于 2009-04-22T18:36:54.743 に答える