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

Office 365 および Microsoft 365 の次のシナリオでは、クライアント SMTP 電子メール送信 (_認証済み smtp 送信_とも呼ばれます) を使用します。Client SMTP email submissions (also known as authenticated SMTP submissions) are used in the following scenarios in Office 365 and Microsoft 365:

  • POP3 および IMAP4 クライアント。POP3 and IMAP4 clients. これらのプロトコルは、クライアントに電子メールメッセージの_受信_のみを許可するので、認証済みの SMTP を使用して電子メールメッセージを_送信_する必要があります。These protocols only allow clients to receive email messages, so they need to use authenticated SMTP to send email messages.

  • 電子メールメッセージを生成して送信するアプリケーション、レポートサーバー、および多機能デバイス。Applications, reporting servers, and multifunction devices that generate and send email messages.

SMTP 認証プロトコルは、クライアント SMTP 電子メール送信 (通常は TCP ポート 587) に使用されます。The SMTP AUTH protocol is used for client SMTP email submission (typically on TCP port 587). SMTP 認証は先進認証をサポートしておらず、基本認証のみを使用しているため、電子メールメッセージを送信する必要があるのは、ユーザー名とパスワードのみです。SMTP AUTH doesn't support modern authentication (Modern Auth), and only uses basic authentication, so all you need to send email messages is a username and password. これにより、攻撃者が侵害された資格情報を使用してスパムやフィッシングメッセージを送信する際に、SMTP 認証がよく選択されます。This makes SMTP AUTH a popular choice for attackers to send spam or phishing messages using compromised credentials.

ほぼすべてのモダン電子メールクライアントは、Office 365 または Microsoft 365 の Exchange Online メールボックスに接続しています (たとえば、Outlook、web 上の outlook、ios メール、ios および Android 用の outlook など)。 SMTP AUTH を使用して電子メールメッセージを送信することはありません。Virtually all modern email clients that connect to Exchange Online mailboxes in Office 365 or Microsoft 365 (for example, Outlook, Outlook on the web, iOS Mail, Outlook for iOS and Android, etc.) don't use SMTP AUTH to send email messages.

そのため、Exchange Online 組織で SMTP 認証を無効にして、引き続き必要なアカウント (つまりメールボックス) に対してのみ有効にすることを強くお勧めします。Therefore, we highly recommend that you disable SMTP AUTH in your Exchange Online organization, and enable it only for the accounts (that is, mailboxes) that still require it. これを行うには、次の2つの設定があります。There are two settings that can help you do this:

  • SMTP 認証を無効にする (または有効にする) 組織全体の設定。An organization-wide setting to disable (or enable) SMTP AUTH.

  • テナント全体の設定を上書きするメールボックスごとの設定。A per-mailbox setting that overrides the tenant-wide setting.

注これらの設定は、Exchange Online (Office 365 または Microsoft 365) でホストされているメールボックスにのみ適用されます。Note these settings only apply to mailboxes that are hosted in Exchange Online (Office 365 or Microsoft 365).


  • 組織でセキュリティの_既定値_を有効にしている場合は、Exchange ONLINE で SMTP 認証が既に無効になっています。If you've enabled security defaults in your organization, SMTP AUTH is already disabled in Exchange Online. 詳細については、「セキュリティの既定値とは」を参照してください。For more information, see What are security defaults?.

  • 認証ポリシーによって SMTP の基本認証が無効になっている場合、この記事で説明されている設定を有効にしても、クライアントは SMTP 認証プロトコルを使用できません。If your authentication policy disables basic authentication for SMTP, clients cannot use the SMTP AUTH protocol even if you enable the settings outlined in this article. 詳細については、「 Exchange Online で基本認証を無効にする」を参照してください。For more information, see Disable Basic authentication in Exchange Online.

組織で SMTP 認証を無効にするDisable SMTP AUTH in your organization

Exchange Online PowerShellを使用して、組織に対してグローバルに SMTP 認証を無効にする (または有効にする) ことができます。You can only disable (or enable) SMTP AUTH globally for your organization by using Exchange Online PowerShell.

組織内で SMTP 認証をグローバルに無効にするには、次のコマンドを実行します。To disable SMTP AUTH globally in your organization, run the following command:

Set-TransportConfig -SmtpClientAuthenticationDisabled $true

: SMTP AUTH が既に無効になっている場合に有効にするには、値を使用し $false ます。Note: To enable SMTP AUTH if it's already disabled, use the value $false.

正常な動作を確認する方法How do you know this worked?

組織で SMTP 認証がグローバルに無効にされたことを確認するには、次のコマンドを実行し、 Smtpclientauthenticationdisabledプロパティの値が次のようになっていることを確認し True ます。To verify that you've globally disabled SMTP AUTH in your organization, run the following command and verify the value of the SmtpClientAuthenticationDisabled property is True:

Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled

特定のメールボックスに対して SMTP 認証を有効にするEnable SMTP AUTH for specific mailboxes

SMTP 認証を有効 (または無効) にするメールボックスごとの設定は、Microsoft 365 管理センターまたはExchange Online PowerShellで使用できます。The per-mailbox setting to enable (or disable) SMTP AUTH is available in the Microsoft 365 admin center or Exchange Online PowerShell.

Microsoft 365 管理センターを使用して特定のメールボックスの SMTP 認証を有効または無効にするUse the Microsoft 365 admin center to enable or disable SMTP AUTH on specific mailboxes

  1. Microsoft 365 管理センターを開き、[ユーザー ] [ > アクティブユーザー] に移動します。Open the Microsoft 365 admin center and go to Users > Active users.

  2. ユーザーを選択し、表示されるポップアップで [メール] をクリックします。Select the user, and in the flyout that appears, click Mail.

  3. [電子メールアプリ] セクションで、[電子メールアプリの管理] をクリックします。In the Email apps section, click Manage email apps.

  4. 認証されたSMTP設定を確認します。オフ = 無効、オン = 有効になっています。Verify the Authenticated SMTP setting: unchecked = disabled, checked = enabled.

    完了したら、[変更の保存] をクリックします。When you're finished, click Save changes.

Exchange Online の PowerShell を使用して特定のメールボックスの SMTP 認証を有効または無効にするUse Exchange Online PowerShell to enable or disable SMTP AUTH on specific mailboxes

次の構文を使用してください。Use the following syntax:

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

値は、 $null メールボックスの設定が組織のグローバル設定によって制御されることを示します。The value $null indicates the setting for the mailbox is controlled by the global setting on the organization. $true (無効) または $false (有効) を使用して、組織の設定を_上書き_します。You use the values $true (disabled) or $false (enabled) to override the organization setting. メールボックスの設定は、組織の設定よりも優先されます。The mailbox setting takes precedence over the organization setting.

この例では、メールボックス の SMTP 認証を有効にします。This example enables SMTP AUTH for mailbox

Set-CASMailbox -Identity -SmtpClientAuthenticationDisabled $false

この例では、メールボックス の SMTP 認証を無効にします。This example disables SMTP AUTH for mailbox

Set-CASMailbox -Identity -SmtpClientAuthenticationDisabled $true

Exchange Online PowerShell を使用して複数のメールボックスの SMTP 認証を有効または無効にするUse Exchange Online PowerShell to enable or disable SMTP AUTH on multiple mailboxes

テキストファイルを使用して、メールボックスを識別します。Use a text file to identify the mailboxes. スペースを含まない値 (エイリアス、電子メールアドレス、アカウント名など) を使用することをお勧めします。Values that don't contain spaces (for example, alias, email address, or account name) work best. テキストファイルには、次のように各行に1つのメールボックスが含まれている必要があります。The text file must contain one mailbox on each line like this:

この構文では、次の2つのコマンドを使用します (1 つはメールボックスを識別し、もう1つはそれらのメールボックスに対して SMTP 認証を有効にします)。The syntax uses the following two commands (one to identify the mailboxes, and the other to enable SMTP AUTH for those mailboxes):

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

この例では、file C:\My Documents\Allow SMTP AUTH.txt で指定されたメールボックスの SMTP 認証を有効にします。This example enables SMTP AUTH for the mailboxes specified in the file C:\My Documents\Allow SMTP AUTH.txt.

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

: メールボックスの SMTP 認証を無効にするには、値を使用し $true ます。Note: To disable SMTP AUTH for the mailboxes, use the value $true. [組織] の設定に制御を戻すには、値を使用し $null ます。To return control to the organization setting, use the value $null.

正常な動作を確認する方法How do you know this worked?

特定のメールボックスの SMTP 認証が有効または無効になっていることを確認するには、次のいずれかの手順を実行します。To verify that you've enabled or disabled SMTP AUTH for a specific mailbox, do any of the following steps:

  • Microsoft 365 管理センターの個々のメールボックス: [ユーザー > ] [アクティブなユーザー > ] [ > メール]、[ > 電子メールアプリの管理]、[認証済みの SMTPの値を確認します (オン]、[オフ]: 無効)] の順に移動します。Individual mailboxes in the Microsoft 365 admin center: Go to Users > Active users > select the user > click Mail > click Manage email apps and verify the value of Authenticated SMTP (checked = enabled, unchecked = disabled).

  • Exchange Online PowerShell の個々のメールボックス: <MailboxIdentity> を、メールボックスの名前、エイリアス、電子メールアドレス、またはアカウント名で置き換え、次のコマンドを実行します。また、 smtpclientauthenticationdisabledプロパティの値を確認し False ます (= enabled、 True = disabled、blank = use organization setting)。Individual mailboxes in Exchange Online PowerShell: Replace <MailboxIdentity>, with the name, alias, email address or account name of the mailbox, run the following command, and verify the value of the SmtpClientAuthenticationDisabled property (False = enabled, True = disabled, blank = use organization setting).

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

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

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

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