Exchange Online で認証済みクライアントの SMTP 送信 (SMTP AUTH) を有効または無効にする

SMTP クライアントの電子メール送信 (認証された SMTP 送信または SMTP AUTH とも呼ばれます) は、Office 365と Microsoft 365 の次のシナリオで使用されます。

  • POP3 と IMAP4 クライアントのシナリオで使用されます。 これらのプロトコルでは、クライアントに対してメール メッセージの受信のみを許可します。そのため、認証された SMTP を使用してメール メッセージを送信する必要があります。
  • メール メッセージを生成して送信するアプリケーション、レポート サーバー、および多機能デバイス。

SMTP AUTH プロトコルは、通常 TCP ポート 587 で SMTP クライアントの電子メール送信に使用されます。 SMTP AUTH では、基本認証に加えて、OAuth を介した先進認証 (モダン認証) もサポートされています。 詳細については、「OAuth を使用して IMAP、POP、SMTP 接続を認証する」を参照してください。

Office 365 または Microsoft 365 の Exchange Online メールボックスに接続する、ほぼすべての最新メール クライアント (Outlook、Outlook on the web、iOS メール、iOS および Android 用の Outlook など) では、メール メッセージの送信に SMTP AUTH を使用しません。

そのため、Exchange Online organizationで SMTP AUTH を無効にし、引き続き必要なアカウント (メールボックス) に対してのみ有効にすることを強くお勧めします。 これを行うのに役立つ 2 つの設定があります。

  • SMTP AUTH を無効にする (または有効にする) 組織全体の設定。
  • テナント全体の設定を上書きするメールボックスごとの設定。

これらの設定は、Exchange Online (Office 365 または Microsoft 365) でホストされているメールボックスにのみ適用されます。

注:

  • organizationでセキュリティの既定値が有効になっている場合、EXCHANGE ONLINEで SMTP AUTH は既に無効になっています。 SMTP AUTH を使用するには、 セキュリティの既定値を無効にする必要があります。 詳細については、「Microsoft Entra IDのセキュリティの既定値」を参照してください。
  • 認証ポリシーで SMTP の基本認証が無効になっている場合、この記事で説明する設定を有効にしても、クライアントで SMTP AUTH プロトコルを使用することはできません。 詳細については、「Exchange Online で基本認証を無効にする」を参照してください。

組織で SMTP AUTH を無効にする

EAC でORGANIZATIONに対して SMTP AUTH をグローバルに無効に (または有効にする) か、Exchange Online PowerShell を使用します。

EAC のorganizationで SMTP AUTH をグローバルに無効にするには、[設定] の [メール フローの設定] ページに移動し、organizationの [SMTP AUTH プロトコルを無効にする] というラベルの設定を切り替えます。

PowerShell を使用してorganizationで SMTP AUTH をグローバルに無効にするには、次のコマンドを実行します。

Set-TransportConfig -SmtpClientAuthenticationDisabled $true

注:

SMTP AUTH が既に無効になっている場合に有効にするには、値 $falseを使用します。

手順が適切に行われたことを確認する方法

組織で SMTP AUTH をグローバルに無効にしたことを確認するには、次のコマンドを実行し、SmtpClientAuthenticationDisabled プロパティの値が True であることを確認します。

Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

特定のメールボックスに対して SMTP AUTH を有効にする

SMTP AUTH を有効 (または無効にする) メールボックスごとの設定は、Microsoft 365 管理センターまたは Exchange Online PowerShell で使用できます。

Microsoft 365 管理センターを使用して特定のメールボックスで SMTP AUTH を有効または無効にする

  1. Microsoft 365 管理センターを開き、[ユーザー] [アクティブ なユーザー]> に移動します。

  2. ユーザーを選択し、表示されるポップアップで [メール] を選択 します

  3. [Email アプリ] セクションで、[メール アプリの管理] を選択します。

  4. [認証済み SMTP] の設定を確認します (オフ = 無効、オン = 有効)。

  5. 完了したら、[ 変更の保存] を選択します。

PowerShell Exchange Online を使用して、特定のメールボックスで SMTP AUTH を有効または無効にする

次の構文を使用してください。

Set-CASMailbox -Identity <MailboxIdentity> -SmtpClientAuthenticationDisabled <$true | $false | $null>

この値 $null は、メールボックスの設定が組織のグローバル設定によって制御されることを示します。 組織の設定を上書きするには、値 $true (無効) または $false (有効) を使用します。 メールボックスの設定は、組織の設定よりも優先されます。

この例では、メールボックス sean@contoso.comに対して SMTP AUTH を有効にします。

Set-CASMailbox -Identity sean@contoso.com -SmtpClientAuthenticationDisabled $false

この例では、メールボックス chris@contoso.comの SMTP AUTH を無効にします。

Set-CASMailbox -Identity chris@contoso.com -SmtpClientAuthenticationDisabled $true

PowerShell Exchange Online を使用して、複数のメールボックスで SMTP AUTH を有効または無効にする

テキスト ファイルを使用してメールボックスを識別します。 スペースを含まない値 (エイリアス、メール アドレス、アカウント名など) が最適です。 テキスト ファイルには、次のようにメールボックスを各行に 1 つ含める必要があります。

akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com

構文では、次の 2 つのコマンド (1 つはメールボックスを識別し、もう 1 つはそれらのメールボックスで SMTP AUTH を有効にする) を使用します。

$<VariableName> = Get-Content "<text file>"
$<VariableName> | foreach {Set-CASMailbox -Identity $_ -SmtpClientAuthenticationDisabled <$true | $false | $null>}

この例では、ファイル C:\My Documents\Allow SMTP AUTH.txt で指定したメールボックスに対して SMTP AUTH を有効にします。

$Allow = Get-Content "C:\My Documents\Allow SMTP AUTH.txt"
$Allow | foreach {Set-CASMailbox -Identity $_ -SmtpClientAuthenticationDisabled $false}

注:

メールボックスの SMTP AUTH を無効にするには、値 $true を使用します。 コントロールを組織の設定に戻す場合は、値 $null を使用します。

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

特定のメールボックスで SMTP AUTH が有効または無効になっていることを確認するには、次の手順を実行します。

  • Microsoft 365 管理センター内の個々のメールボックス: [ユーザー>] [アクティブ なユーザー>] に移動し、[メール] を選択>して [メール> アプリの管理] を選択し、[認証済み SMTP] の値を確認します (オン = 有効、オフ = 無効)。

  • Exchange Online PowerShell の個々のメールボックス: <MailboxIdentity> をメールボックスの名前、エイリアス、メール アドレス、またはアカウント名に置き換え、次のコマンドを実行し、SmtpClientAuthenticationDisabled プロパティの値を確認します (False= 有効、True = 無効、空白 = 組織設定を使用する)。

    Get-CASMailbox -Identity <MailboxIdentity>  | Format-List SmtpClientAuthenticationDisabled
    
  • SMTP AUTH が無効になっているすべてのメールボックス: 次のコマンドを実行します。

    $Users = Get-CASMailbox -ResultSize unlimited
    $Users | where {$_.SmtpClientAuthenticationDisabled -eq $true}
    
  • SMTP AUTH が有効になっているすべてのメールボックス: 次のコマンドを実行します。

    $Users = Get-CASMailbox -ResultSize unlimited
    $Users | where {$_.SmtpClientAuthenticationDisabled -eq $false}
    
  • SMTP AUTH が組織設定によって制御されるすべてのメールボックス: 次のコマンドを実行します。

    $Users = Get-CASMailbox -ResultSize unlimited
    $Users | where {$_.SmtpClientAuthenticationDisabled -eq $null}