Exchange Serverでクライアント固有のメッセージ サイズ制限を構成する

Exchange Serverでは、組織を通過するメッセージに適用されるメッセージ サイズの制限がいくつかあります。 詳細については、「Exchange Serverのメッセージ サイズと受信者の制限」を参照してください。

ただし、Outlook on the web (旧称 Outlook Web App) と、Exchange ActiveSyncまたは Exchange Web Services (EWS) を使用する電子メール クライアントに対して構成できるクライアント固有のメッセージ サイズ制限があります。 Exchange 組織、コネクタ、またはユーザー のメッセージ サイズの制限を変更する場合は、Outlook on the web、ActiveSync、EWS の制限を変更する必要がある可能性があります。 以下の表で、これらの制限を説明します。 特定の種類のクライアントのメッセージ サイズ制限を変更するには、表に記載されている すべて の値を変更する必要があります。

注:

すべてのメッセージ サイズ制限について、適用したい実際のサイズより大きい値を設定する必要があります。 これは、添付ファイルやその他のバイナリ データの Base64 エンコードのためです。 Base64 エンコードによりメッセージのサイズは約 33% 増加するため、指定する値は、適用する実際のメッセージ サイズより約 33% 大きくしなければなりません。 たとえば、最大メッセージ サイズの値を 64 MB に指定すると、実際の最大メッセージ サイズは約 48 MB になると予測できます。

ActiveSync

サービス 構成ファイル キーと既定値 Size
クライアント アクセス (フロントエンド) %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxAllowedContentLength="30000000" (既定では存在しません。コメントを参照してください) バイト
クライアント アクセス (フロントエンド) %ExchangeInstallPath%FrontEnd\HttpProxy\Sync\web.config maxRequestLength="10240" キロバイト
バックエンド %ExchangeInstallPath%ClientAccess\Sync\web.config maxAllowedContentLength="30000000 bytes" (既定では存在しません。コメントを参照してください) バイト
バックエンド %ExchangeInstallPath%ClientAccess\Sync\web.config maxRequestLength="10240" キロバイト
バックエンド %ExchangeInstallPath%ClientAccess\Sync\web.config <add key="MaxDocumentDataSize" value="10240000"> バイト

ActiveSync 制限についてのコメント

既定では、ActiveSync のファイルには web.configmaxAllowedContentLength キーはありません。 ただし、ActiveSync の最大メッセージ サイズは、サーバー上のすべての Web サイト に適用される maxAllowedContentLength 値の影響を受けます。 既定値は 30000000 バイトです。 IIS マネージャーのメールボックス サーバー上の ActiveSync のこれらの値を表示するには、次の手順を実行します。

  1. 次のいずれかの手順を実行します。

    • クライアント アクセス (フロントエンド) Web サイトで IIS マネージャーを開き、[ サイト>の既定の Web サイト ] に移動し、[ Microsoft-Server-ActiveSync] を選択します。

    • バックエンド Web サイトで IIS マネージャーを開き、[ サイト>] [Exchange バックエンド ] の順に移動し、[ Microsoft-Server-ActiveSync] を選択します。

  2. 下部の [機能ビュー] タブが選択されていることを確認し、[管理] セクションで [構成エディター] をダブルクリックします。

  3. [セクション] フィールドのドロップダウン矢印をクリックし、system.webServer>セキュリティに移動し、[requestFiltering] を選択します。

  4. 結果の中の [requestLimits] を展開すると、 [maxAllowedContentLength] および既定値の 30000000 (バイト) が表示されます。

maxAllowedContentLength 値を変更するには、新しい値をバイト数で入力して、 [適用] をクリックします。 クライアント アクセス Web サイトとバックエンド Web サイトで値を変更する必要があります。

: IIS マネージャーの [サイト>の既定の Web サイト>] Microsoft-Server-ActiveSync または Sites >Exchange バックエンド>Microsoft-Server-ActiveSync で同じ設定を変更し、[IIS] セクションの [要求のフィルター処理] セクションの [アクション] 領域>の [許可されるコンテンツの最大長 (バイト)] セクション>の [機能設定の編集] セクションで[要求の制限] セクションで同じ設定を変更できます。

IIS マネージャーで値を変更すると、テーブルで説明されている対応するクライアント アクセスまたはバックエンド web.config ファイルに新しい maxAllowedContentLength キーが書き込まれます。

Exchange Web サービス

サービス 構成ファイル キーと既定値 Size
クライアント アクセス (フロントエンド) %ExchangeInstallPath%FrontEnd\HttpProxy\ews\web.config maxAllowedContentLength="67108864" バイト
バックエンド %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config maxAllowedContentLength="67108864" バイト
バックエンド %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config の 14 インスタンス maxReceivedMessageSize="67108864" (http/https バインドと認証方法の異なる組み合わせの場合) バイト

EWS 制限についてのコメント

  • バックエンド web.config ファイルには、変更する必要のない UMLegacyMessageEncoderSoap11Element バインドの値maxReceivedMessageSize="1048576"の 2 つのインスタンスがあります。

  • maxRequestLength は、両方の web.config ファイルに存在する ASP.NET の設定ですが、EWS では使用されないので変更する必要はありません。

Outlook on the web

サービス 構成ファイル キーと既定値 Size
クライアント アクセス (フロントエンド) %ExchangeInstallPath%FrontEnd\HttpProxy\owa\web.config maxAllowedContentLength="35000000" バイト
クライアント アクセス (フロントエンド) %ExchangeInstallPath%FrontEnd\HttpProxy\owa\web.config maxRequestLength="35000" キロバイト
バックエンド %ExchangeInstallPath%ClientAccess\Owa\web.config maxAllowedContentLength="35000000" バイト
バックエンド %ExchangeInstallPath%ClientAccess\Owa\web.config maxRequestLength="35000" キロバイト
バックエンド %ExchangeInstallPath%ClientAccess\Owa\web.config の 2 つの maxReceivedMessageSize="35000000" インスタンス (http および https バインドの場合) バイト
バックエンド %ExchangeInstallPath%ClientAccess\Owa\web.config の 2 つの maxStringContentLength="35000000" インスタンス (http および https バインドの場合) バイト

Web 上の Outlook 制限についてのコメント

  • バックエンド web.config ファイルには、変更する必要のない MsOnlineShellService バインドの値maxStringContentLength="102400"のインスタンスがあります。

事前に必要な知識

  • 予想所要時間 : 15 分

  • Exchange のアクセス許可は、このトピックの手順には適用されません。 これらの手順は、Exchange サーバーのオペレーティング システムで実行されます。

  • web.config 構成ファイルに保存した変更は、IIS の再起動後に適用されます。

  • Base64 エンコードによるサイズの 33% の増加を可能にするには、必要な新しい最大サイズ値をメガバイト単位で 4/3 ずつ乗算します。 値をキロバイトに変換するには、1024 を乗算します。 値をバイトに変換するには、1048756 (1024*1024) を乗算します。 Base64 エンコードによるサイズの増加は 33% を超える可能性があり、いくつかの要因 (添付ファイルのサイズ、ファイルの種類、圧縮、電子メール クライアントなど) によって異なります。

  • Exchange サーバー上の Exchange XML アプリケーション構成ファイル (web.config ファイルやEdgeTransport.exe.config ファイルなど) で行ったカスタマイズされた Exchange またはインターネット インフォメーション サーバー (IIS) 設定は、Exchange CU をインストールすると 上書きされます 。 インストール後に設定を簡単に再適用できるように、この情報を必ず保存してください。 Exchange CU をインストールした後、これらの設定を再構成する必要があります。

  • このトピックの手順で使用可能なキーボード ショートカットについては、「Exchange 管理センターのキーボード ショートカット」を参照してください。

ヒント

問題がある場合は、 Exchange のフォーラムで質問してください。 フォーラムにアクセスする: Exchange Server

メモ帳を使用してクライアント固有のメッセージのサイズ制限を構成する

  1. 適切な web.config ファイルをメモ帳で開きます。 たとえば、EWS クライアントの web.config ファイルを開くには、次のコマンドを実行します。

    Notepad %ExchangeInstallPath%ClientAccess\exchweb\ews\web.config
    
    Notepad %ExchangeInstallPath%FrontEnd\HttpProxy\ews\web.config
    
  2. このトピックの前述の表で説明したとおり、該当する web.config ファイルで関連するキーを見つけます。 たとえば、EWS クライアントの場合、クライアント アクセスファイルとバックエンド web.config ファイルの maxAllowedContentLength キーと、バックエンド web.config ファイル内の値 maxReceivedMessageSize="67108864" のすべての 14 インスタンスを検索します。

    <requestLimits maxAllowedContentLength="67108864" />
    ...maxReceivedMessageSize="67108864"...
    

    たとえば、Base64 でエンコードされた最大メッセージ サイズを約 64 MB にするには、 のすべてのインスタンス 67108864 を (64*4/3*1048756) に 89478486 変更します。

    <requestLimits maxAllowedContentLength="89478486" />
    ...maxReceivedMessageSize="89478486"...
    
  3. 完了したら、web.config ファイルを保存して閉じます。

  4. 次のどちらかの方法を使用して、Exchange サーバーで IIS を再起動します。

    • IIS マネージャーを開いて、サーバーを選択し、 [操作] ウィンドウで [再起動] をクリックします

      IIS マネージャーでサーバーを選択し、[操作] ウィンドウで [再起動] をクリックします。

    • 管理者特権のコマンド プロンプト ([ 管理者として実行] を選択して開くコマンド プロンプト ウィンドウ) から次のコマンドを実行します。

      net stop w3svc /y
      
      net start w3svc
      

コマンド ラインからクライアント固有のメッセージのサイズ制限を構成する

メモ帳を使用する代わりに、コマンド ラインからクライアント固有のメッセージのサイズ制限を構成することもできます。 Exchange サーバーで管理者特権でのコマンド プロンプト ( [管理者として実行] を選択して開くコマンド プロンプト ウィンドウ) を開き、構成する制限に該当するコマンドを実行します。

注:

  • コマンドのサイズ値は既定値であり、変更する必要があります。

  • 値がバイト単位か、キロバイト単位かに注意してください。

ActiveSync

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:30000000
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/Microsoft-Server-ActiveSync/" -section:system.web/httpRuntime /maxRequestLength:10240
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:30000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:system.web/httpRuntime /maxRequestLength:10240
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/Microsoft-Server-ActiveSync/" -section:appSettings /[key='MaxDocumentDataSize'].value:10240000

Exchange Web サービス

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/ews/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSAnonymousHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSAnonymousHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSBasicHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSBasicHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSNegotiateHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSNegotiateHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecurityHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecurityHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecuritySymmetricKeyHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecuritySymmetricKeyHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecurityX509CertHttpsBinding'].httpsTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /customBinding.[name='EWSWSSecurityX509CertHttpBinding'].httpTransport.maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /webHttpBinding.[name='EWSStreamingNegotiateHttpsBinding'].maxReceivedMessageSize:67108864
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/ews/" -section:system.serviceModel/bindings /webHttpBinding.[name='EWSStreamingNegotiateHttpBinding'].maxReceivedMessageSize:67108864

Outlook on the web

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site/owa/" -section:system.web/httpRuntime /maxRequestLength:35000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.webServer/security/requestFiltering /requestLimits.maxAllowedContentLength:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.web/httpRuntime /maxRequestLength:35000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings /webHttpBinding.[name='httpsBinding'].maxReceivedMessageSize:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings /webHttpBinding.[name='httpBinding'].maxReceivedMessageSize:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings /webHttpBinding.[name='httpsBinding'].readerQuotas.maxStringContentLength:35000000
%windir%\system32\inetsrv\appcmd.exe set config "Exchange Back End/owa/" -section:system.serviceModel/bindings /webHttpBinding.[name='httpBinding'].readerQuotas.maxStringContentLength:35000000

正常な動作を確認する方法

クライアントに固有のメッセージ サイズの制限が正常に構成されていることを確認するには、影響を受けるクライアントを使用して、メールボックスとの間でテスト メッセージを送受信する必要があります。 テスト メッセージが構成した値を約 33% 下回るように、複数の小さい添付ファイルやサイズの大きい 1 つの添付ファイルを試すことができます。 たとえば、構成した値が 85 MB の場合、実際の最大メッセージ サイズは約 64 MB になります。