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

重要

2022 年 12 月から、従来の Exchange 管理 センターは世界中のお客様向けに非推奨になります。 Microsoft では、新しい Exchange 管理 センターを使用することをお勧めします (まだ使用していない場合)。

ほとんどの機能は新しい EAC に移行されていますが、一部の機能は他の管理センターに移行され、残りの機能は間もなく新しい EAC に移行されます。 その他の機能で新しい EAC にまだ存在しない機能を検索するか 新しい EAC 間を移動するのに役立つグローバル検索を使用します。

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 組織で SMTP AUTH を無効にし、引き続き必要とするアカウント (メールボックス) でのみ有効にすることを強くお勧めします。 これを行うのに役立つ 2 つの設定があります。

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

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

注:

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

組織で SMTP AUTH を無効にする

新しい EAC で、または PowerShell Exchange Online使用して、組織の SMTP AUTH をグローバルに無効 (または有効) できます。

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

PowerShell を使用して組織内で 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. [メール アプリ] セクションで、[メール アプリの管理] を選択します。

  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}