Microsoft Dynamics CRM でキャンペーン用の電子メール活動を配布するときに電子メール活動が受信者に自動的に送信されない

文書翻訳 文書翻訳
文書番号: 911520 - 対象製品
重要 : この資料には、レジストリの編集方法が記載されています。万一に備えて、編集の前には必ずレジストリをバックアップし、レジストリの復元方法を理解しておいてください。バックアップ、復元、および編集方法の詳細を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
256986 Microsoft Windows レジストリの説明
すべて展開する | すべて折りたたむ

現象

Microsoft Dynamics CRM でキャンペーン用の電子メール活動を配布するときに、電子メール活動が受信者に直接送信されません。代わりに、各電子メール活動を開いて手動で送信する必要があります。

解決方法

修正プログラムの情報

マイクロソフトでは、現在この問題を修正する修正プログラムを提供中ですが、修正プログラムはこの資料に記載された問題のみを修正することを目的としており、障害があったコンピュータに対してのみ適用することを推奨します。

この問題を解決するには、Microsoft Product Support Services にお問い合わせのうえ、修正プログラムを入手してください。Microsoft Product Support Services の電話番号一覧およびサポート料金については、次のマイクロソフト Web ページを参照してください。
http://support.microsoft.com/contactus/?ws=support
: Microsoft Support 担当者が、特定の更新プログラムを適用することにより問題が解決されると判断した場合、まれに通常サポート依頼にかかる料金が免除されることがあります。ただし、特定の更新プログラムの対象とならない追加の質問および問題については、通常のサポート料金が適用されます。

インストール情報

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

この修正プログラムのインストール後、以下の手順を実行して CampaignSendEmail という名前のレジストリ エントリを作成します。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次に regedit と入力し、[OK] をクリックします。
  2. レジストリ エディタで、次のレジストリ サブキーを見つけます。
    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSCRM
  3. 以下の手順を実行してレジストリ エントリを作成します。
    1. [MSCRM] を右クリックし、[新規] をポイントし、[DWORD 値] をクリックします。
    2. "名前" フィールドに CampaignSendEmail と入力します。
    3. このレジストリ エントリをダブルクリックし、[値のデータ] ボックスに 1 と入力します。

      : [値のデータ] ボックスに 1 と入力した場合、キャンペーン用の電子メール活動が自動的に送信されます。[値のデータ] ボックスに 0 と入力した場合、キャンペーンから作成された電子メールは自動的に送信されません。

必要条件

この修正プログラムをインストールするには、Microsoft Dynamics CRM 3.0 が既にインストールされている必要があります。

アンインストール情報

この修正プログラムをアンインストールするには、コントロール パネルのプログラムの追加と削除を使用します。

再起動の必要性

指示がある場合は、修正プログラムをインストールした後にコンピュータを再起動します。

ファイル情報

元に戻す全体を表示する
ファイル名 バージョン サイズ 日付 時刻 プラットフォーム
CRM3.0-KB911520-Server-JPN.exe 3.0.5469.1019 916,296 2006/07/07 0:11 x86

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

回避策

この修正プログラムをインストールせずにこの問題を回避するには、Workflow .NET アセンブリを作成して電子メール活動を自動的に送信します。

: Microsoft CRM 3.0 では、以下の条件に該当する .NET アセンブリはサポートされません。
  • Microsoft Visual Studio .NET 2005 および .NET Framework 2.0 を使用して .NET アセンブリを作成した。
  • .NET アセンブリを Callout アセンブリまたは Workflow アセンブリとして使用する。
以下の手順を実行して Workflow .NET アセンブリを作成します。
  1. Microsoft CRM 電子メール フォームで新しいビット形式のフィールドを作成して、キャンペーン用の電子メール活動として指定します。
    1. Microsoft CRM で、[移動] をクリックし、[設定] をポイントし、[カスタマイズ]、[エンティティのカスタマイズ]、[電子メール]、[その他の操作]、[編集] の順にクリックします。
    2. [属性] をクリックし、[新規] をクリックします。
    3. [表示名] ボックスに名前を入力します。この例では、"Campaign E-mail" という名前を使用します。
    4. [種類] ボックスの一覧の [bit] をクリックします。
    5. [既定値] ボックスの一覧の [いいえ] をクリックし、[保存して閉じる] をクリックします。
    6. [フォームとビュー] をクリックします。
    7. [フォーム] をクリックし、[その他の操作] をクリックし、[編集] をクリックします。
    8. [フィールドの追加] をクリックし、作成した新しいフィールド ("Campaign E-mail") をクリックします。[OK] をクリックし、[保存して閉じる] をクリックします。
    9. [エンティティ: 電子メール] ウィンドウで [操作] をクリックし、[公開] をクリックし、[保存して閉じる] をクリックします。
  2. 電子メール活動を送信するための .NET アセンブリを作成します。以下の手順では、Microsoft Visual Studio .NET 2003 を使用して AutoSend という名前の新しいクラス ライブラリを作成します。
    1. Visual Studio .NET 2003 を起動し、[新しいプロジェクト] をクリックします。
    2. [Visual C# プロジェクト] をクリックし、[クラス ライブラリ] をクリックします。プロジェクト名として AutoSend と入力し、[OK] をクリックします。
    3. ソリューション エクスプローラで、[参照設定] を右クリックし、[Web 参照の追加] をクリックします。
    4. [URL] ボックスに Crmservice.asmx ファイルのパスを入力します。次の例の localhost:5555 には、Microsoft CRM Web サイト名が入ります。
      http://localhost:5555/mscrmservices/2006/crmservice.asmx
    5. [Web 参照名] ボックスの値を CrmSdk に変更します。
    6. [参照の追加] をクリックします。
    7. 次の using ステートメントを追加します。
       using AutoSend.CrmSdk; 
    8. 電子メールの ActivityId フィールドに Guid パラメータを使用する public メソッドを作成します。

      : service.CallerIdValue.CallerGuid 行で指定されている GUID 値を、電子メール活動の送信ができるアクセス許可を持つ Microsoft CRM システム ユーザーの SystemUserId フィールドの GUID 値に置き換える必要があります。

      Fetch メソッドを使用すると、このユーザーを取得できます。メソッドの例を以下に示します。
       
      public void SendEmail(Guid campaignActivityID)
      		{
      			CrmService service = new CrmService();
      			service.Credentials = System.Net.CredentialCache.DefaultCredentials;
      
      			service.CallerIdValue = new CallerId();
      			// Replace the GUID with the GUID of 
         the Microsoft CRM Administrator.
      			service.CallerIdValue.CallerGuid = new 
         Guid("FD80F8E8-C852-DA11-B1FB-0007E94D105B");
      
      			SendEmailRequest req = new SendEmailRequest();
      			req.EmailId = campaignActivityID;
      			req.TrackingToken = "";                                                                   
      			req.IssueSend = true;      
      
      			try 
      			{
      				SendEmailResponse res = (SendEmailResponse)service.Execute(req);
      			}
      			catch (System.Web.Services.Protocols.SoapException er)
      			{
      				// Process any error messages here.
      			}
      
      		} 
    9. service.CallerIdValue.CallerGuid 行の変更後、[ビルド] をクリックし、[ソリューションのビルド] をクリックします。
    10. ソリューションの Bin\Debug フォルダにある、新しく作成された AutoSend.dll ファイルを次のフォルダにコピーします。
      Program Files\Microsoft CRM\Server\Bin\Assembly
  3. Workflow.config ファイルにアセンブリ情報を追加します。
    1. [スタート] ボタンをクリックし、[すべてのプログラム]、[管理ツール] を順にポイントし、[サービス] をクリックします。
    2. [サービス] ウィンドウで、[Microsoft CRM Workflow Service] を右クリックし、[停止] をクリックします。
    3. Workflow.config ファイルを探し、メモ帳でこのファイルを開きます。デフォルトのパスを以下に示します。
      C:\Program Files\Microsoft CRM\Server\Bin\Assembly\Workflow.config
    4. methods ノード内に以下の情報を貼り付けます。
       
      <method name="E-mail"
      		assembly="AutoSend.dll"
      		typename="AutoSend.Class1"
      		methodname="SendEmail">
      		<parameter name="E-mailId" datatype="lookup" 
      entityname="email"/>
      </method> 
      
    5. Workflow.config ファイルの最初の行を以下のように変更します。
       
      <workflow.config xmlns="http://microsoft.com/mscrm/workflow/" 
      allowunsignedassemblies="true"> 
      
    6. ファイルを保存して閉じます。
    7. [サービス] ウィンドウで、[Microsoft CRM Workflow Service] を右クリックし、[開始] をクリックします。

      : [サービス] ウィンドウが開かれていない場合は、もう一度手順 3a を実行します。
  4. 電子メール活動を送信する Microsoft .NET アセンブリを呼び出すワークフロー ルールを作成します。
    1. Microsoft CRM Web サーバーで、[スタート] ボタンをクリックし、[すべてのプログラム]、[Microsoft CRM] を順にポイントし、[ワークフロー マネージャ] をクリックします。
    2. [エンティティの種類] ボックスの一覧の [電子メール] をクリックし、[新規] をクリックします。
    3. [名前] ボックスに Send Campaign E-mail と入力します。[イベント] ボックスに [作成] が選択されたままの状態で、[次へ] をクリックします。
    4. [条件の挿入] をクリックし、[条件文] をクリックします。
    5. [ここに条件を追加] をクリックし、[条件の挿入] をクリックし、[エンティティの条件文] をクリックします。
    6. [フィールド] ボックスの一覧の [Campaign E-mail] をクリックし、[=] をクリックし、参照ボタンをクリックします。
    7. [静的な値] ボックスの一覧の [はい] をクリックし、[OK] を 2 回クリックします。
    8. [条件の挿入] をクリックし、[エンティティの条件文] をクリックします。
    9. [フィールド] ボックスの一覧の [通信方向] をクリックし、[=] をクリックし、参照ボタンをクリックします。
    10. [静的な値] ボックスの一覧の [発信] をクリックし、[OK] を 2 回クリックします。
    11. [ここにアクションを追加] をクリックし、[アクションの挿入] をクリックし、[アセンブリの呼び出し] をポイントして [E-mail] をクリックします。
    12. [アクション名] ボックスに Send Campaign E-mail と入力します。
    13. E-mailId パラメータをダブルクリックし、[動的な値] をクリックし、[エンティティ] ボックスに [電子メール] が選択されたままの状態で、[OK] を 2 回クリックします。
    14. [保存] をクリックします。
    15. 新しく作成されたルールを右クリックし、[アクティブ化] をクリックします。
  5. このルールをテストするには、新しいキャンペーン電子メール活動を作成して [Campaign E-mail] フィールドを [はい] に設定します。
    1. Microsoft CRM で、テスト用アカウント レコードを選択し、[簡易キャンペーンの作成] をクリックし、[選択されたレコード] をクリックします。
    2. [次へ] をクリックし、[名前] ボックスに Test Quick Campaign と入力します。
    3. [次へ] をクリックし、[電子メール] をクリックし、[次へ] をクリックします。
    4. [件名] ボックスに Test E-mail と入力し、電子メールの本文に Test と入力します。
    5. [Campaign E-mail] フィールドで [はい] をクリックし、[次へ] をクリックします。
    6. [作成] をクリックして電子メール活動が送信されたことを確認します。

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
915829 Microsoft Dynamics CRM 3.0 SDK がサポートする Microsoft Visual Studio .NET および Microsoft .NET Framework のバージョン
824684 マイクロソフトのソフトウェアの更新で使用される一般的な用語の説明
887283 Microsoft Business Solutions CRM ソフトウェア修正プログラムおよび更新プログラム パッケージの命名規則

プロパティ

文書番号: 911520 - 最終更新日: 2007年8月20日 - リビジョン: 4.2
この資料は以下の製品について記述したものです。
  • Microsoft Dynamics CRM 3.0
キーワード:?
kbqfe kbpubtypekc kbmbsmigrate kbhotfixserver kbmbsemail kbmbsworkflow KB911520
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com