受信者は、Microsoft Dynamics CRM Web クライアントを使用してMicrosoft Dynamics CRMユーザーが送信する電子メールを受信しません

この記事では、Microsoft Dynamics CRM Web クライアントから送信された電子メール メッセージを受信者が受信できない問題の解決策について説明します。

適用対象: Microsoft Dynamics CRM 2011
元の KB 番号: 915827

現象

Microsoft Dynamics CRM ユーザーが Microsoft Dynamics CRM 2011 Web クライアントを使用して電子メール メッセージを送信すると、電子メール メッセージが送信されるか、キューに入れられます。 ただし、ユーザーが電子メール メッセージを送信するときに問題が発生した場合、ユーザーは電子メール アクティビティで次のいずれかのエラー メッセージを受け取ります。

エラー メッセージ 1

このメッセージはまだ配信のために送信されていません。 これまでに 1 回の試行が行われました。

エラー メッセージ 2

メッセージ配信に失敗しました。 それ以上の処理を行うには、再送信する必要があります。

さらに、MSCRMEmailLog イベント ログに次のようなエラー メッセージが表示されます。

イベントの種類 : エラー
イベント ソース:MSCRMEmailLog
イベント カテゴリ:None
イベント ID:0
日付: 日付
時間: 時間
ユーザー: N/A
コンピューター: ComputerName
説明: #61042 - SMTP の件名 "test 3 today CRM:0001011" の送信電子メール メッセージの処理中にエラーが発生しました。 https://adsrv:81/MS1 System.Net.Mail.SmtpException: メールの送信に失敗しました。 >--- System.Net.WebException: リモート サーバーに接続できません--->
System.Net.Sockets.SocketException: ターゲット マシンがアクティブに拒否したため、接続を確立できませんでした
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception)
--- 内部例外スタック トレースの終了---
at System.Net.ServicePoint.GetConnection(PooledStream PooledStream, Object owner, Boolean async, IPAddress& アドレス, Socket& abortSocket, Socket& abortSocket6, Int32 timeout)
at System.Net.PooledStream.Activate(Object owningObject, Boolean async, Int32 timeout, GeneralAsyncDelegate asyncCallback)
at System.Net.PooledStream.Activate(Object owningObject, GeneralAsyncDelegate asyncCallback)
at System.Net.ConnectionPool.GetConnection(Object owningObject, GeneralAsyncDelegate asyncCallback, Int32 creationTimeout)
at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
at System.Net.Mail.SmtpClient.GetConnection()
at System.Net.Mail.SmtpClient.Send(MailMessage message)
--- 内部例外スタック トレースの終了---
at System.Net.Mail.SmtpClient.Send(MailMessage message)
Microsoft.Crm.Tools を参照してください。Email。Providers.SmtpPollingSendEmailProvider.SendMessage(MailMessage mailMessage)
Microsoft.Crm.Tools を参照してください。Email。Providers.SmtpPollingSendEmailProvider.ProcessMessageInternal(email emailMessage)
Microsoft.Crm.Tools を参照してください。Email。Providers.CrmPollingSendEmailProvider.ProcessMessage(email emailMessage)
Microsoft.Crm.Tools を参照してください。Email。Providers.CrmPollingSendEmailProvider.Run()

詳細については、「ヘルプとサポート センター https://go.microsoft.com/fwlink/events.asp」を参照してください。

原因

Microsoft Dynamics CRMは、ローカル SMTP サーバーに依存して、メール メッセージを Exchange サーバーに転送します。 この問題は、次のいずれかに該当する場合に発生します。

  • Microsoft Dynamics CRM サーバーの SMTP 構成は、メール メッセージを Exchange サーバーに転送するように構成されていません。
  • Exchange サーバーは、Microsoft Dynamics CRM サーバーからのリレー メッセージを許可するように構成されていません。

解決方法

この問題を解決するには、次の手順を実行します。

手順 1 - メール メッセージを Exchange サーバーに転送するようにMicrosoft Dynamics CRM サーバーで SMTP を構成する

  1. Microsoft Dynamics CRM サーバーで、インターネット インフォメーション サービス (IIS) を開きます。 これを行うには、[ スタート] を選択し、[ 管理ツール] を選択し、[ インターネット インフォメーション サービス (IIS) マネージャー] を選択します。
  2. インターネット インフォメーション サービス (IIS) マネージャーで、[ 既定の SMTP 仮想サーバー] を展開し、[ ドメイン] を右クリックし、[ 新規] をポイントして、[ドメイン] を選択 します
  3. 新しい SMTP ウィザードで、[ドメインの種類の指定] で [リモート] を選択し、[次へ] を選択します。
  4. [ 名前 ] ボックスにドメイン名を入力し、[完了] を選択 します
  5. 右側のウィンドウで、手順 2 ~ 4 で追加したドメイン名を右クリックし、[ プロパティ] を選択します。
  6. [全般] タブで、[受信メールをこのドメインへの中継を許可する] チェック ボックスを選択し、[すべてのメールをスマート ホストに転送する] を選択します。 [ すべてのメールをスマート ホストに転送する] ボックスに Exchange サーバー名を入力し、[ OK] を選択します
  7. Microsoft Dynamics CRM サーバーで SMTP サービスを再起動します。 これを行うには、[ スタート] を選択し、[ 管理ツール] を選択し、[ サービス] を選択します。 [簡易メール転送プロトコル (SMTP)] を右クリックし、[再起動] を選択します

手順 2 - Microsoft Dynamics CRM サーバーからのリレー メッセージを許可するように Exchange サーバーを構成する

Exchange Server 2003

Microsoft Exchange Server 2003 を使用している場合は、まずリレー制限を構成してから、Connections コントロールを確認する必要があります。

リレーの制限を構成する
  1. [ スタート] を選択し、[ プログラム] をポイントし、[ Microsoft Exchange] をポイントして、[ システム マネージャー] を選択します。

  2. [ サーバー] を選択し、Exchange サーバーの名前を選択し、[ プロトコル] を選択して、[SMTP] を選択 します

  3. [既定の SMTP 仮想サーバー] を右クリックし、[プロパティ] を選択し、[アクセス] タブを選択します。

  4. [ リレーの制限] 領域で 、[ リレー] を選択します。

  5. [下のリストのみ] オプションが選択されていることを確認し、Microsoft Dynamics CRM サーバーを一覧に追加します。

    Microsoft Dynamics CRM 2011 を使用している場合は、Exchange ルーターがインストールされているサーバーを一覧に追加してください。

  6. SMTP サービスを再起動します。 これを行うには、次の手順を実行します。

    1. [ スタート] を選択し、[ プログラム] をポイントし、[ 管理ツール] をポイントして、[ サービス] を選択します。
    2. [簡易メール転送プロトコル (SMTP)] を右クリックし、[再起動] を選択します
Connections コントロールを確認する
  1. [ スタート] を選択し、[ プログラム] をポイントし、[ Microsoft Exchange] をポイントして、[ システム マネージャー] を選択します。

  2. [ サーバー] を選択し、Exchange サーバーの名前を選択し、[ プロトコル] を選択して、[SMTP] を選択 します

  3. [既定の SMTP 仮想サーバー] を右クリックし、[プロパティ] を選択し、[アクセス] タブを選択します。

  4. [Connectionsコントロール] 領域で、[接続] を選択します

  5. 既定では、[ 下のリストを除くすべて ] オプションが選択されています。 Microsoft Dynamics CRM サーバーがこの一覧に追加された場合は、Exchange 管理者に連絡して、Microsoft Dynamics CRM サーバーが追加された理由を確認する必要があります。

    注:

    Microsoft Dynamics CRM電子メール メッセージが正常に動作するには、Microsoft Dynamics CRM サーバーが Exchange サーバーに接続できる必要があります。

  6. [下のリストのみ] オプションが選択されている場合は、Microsoft Dynamics CRM サーバーを一覧に追加して、Exchange サーバーへの接続を許可する必要があります。

  7. 接続制御の設定に変更を加えた場合は、SMTP サービスを再起動します。 これを行うには、次の手順を実行します。

    1. [ スタート] を選択し、[ プログラム] をポイントし、[ 管理ツール] をポイントして、[ サービス] を選択します。
    2. [簡易メール転送プロトコル (SMTP)] を右クリックし、[再起動] を選択します

Exchange Server 2007

Microsoft Exchange Server 2007 を使用している場合は、新しい Exchange 受信コネクタを作成し、匿名ユーザー用にコネクタを構成し、受信コネクタのプロトコルアクセス許可を構成してから、Exchange サーバーで Microsoft Exchange トランスポート サービスを再起動する必要があります。

Exchange 受信コネクタを作成する
  1. Exchange 管理コンソールを開きます。

  2. [ サーバー構成] を展開します

  3. [ ハブ トランスポート] を選択します

  4. [受信コネクタ] を右クリックし、[新しい受信コネクタ] を選択します。

  5. [名前] ボックスに名前を 入力 します。

  6. [ この受信コネクタの目的の用途を選択 する] ボックスの一覧で、[ 内部] を選択し、[ 次へ] を選択します。

  7. [リモート ネットワーク設定] セクションで、[追加] を選択し、Microsoft Dynamics CRM サーバーの IP アドレスを入力します。

    注:

    値 0.0.0.0-255.255.255.255 が表示された場合は、[削除] を選択 します

  8. [ 次へ] を選択し、[ 新規] を選択し、[完了] を選択 します

匿名ユーザーのコネクタを構成する
  1. 作成した Exchange 受信コネクタを右クリックし、[プロパティ] を選択 します
  2. [ アクセス許可グループ ] タブを選択します。
  3. [ 受信コネクタへの接続を許可するユーザーを指定する ] オプションが [匿名ユーザー] に設定されていることを確認し、[ 適用] を選択し、[ OK] を選択します
受信コネクタのプロトコルアクセス許可を構成する

注:

これらの手順を完了するには、Windows サポート ツールがインストールされている必要があります。 Adsiedit.msc ツールを使用するのは、経験豊富な管理者だけです。

  1. Adsiedit.msc ツールを起動します。
  2. [構成]、[サービス] の順に展開し、[Microsoft Exchange]、[CN= First Organization]、[管理グループ]、[Exchange 管理グループ]、[サーバー]、[プロトコル]、[SMTP 受信コネクタ] の順に展開します。
  3. 作成した Exchange 受信コネクタを右クリックし、[プロパティ] を選択 します
  4. [セキュリティ] タブを選択します。
  5. [ 匿名ログオン] を選択します
  6. [任意の受信者にメッセージを送信する] チェック ボックスと [権限のあるドメイン送信者チェック受け入れる] ボックスを選択し、[適用] を選択し、[OK] を選択します
Exchange サーバーで Microsoft Exchange トランスポート サービスを再起動する
  1. [ スタート] を選択し、[ 実行] を選択し、「 services.msc」と入力して、[ OK] を選択します
  2. [Microsoft Exchange トランスポート サービス] を右クリックし、[再起動] を選択します。