> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# メール認証の警告とリスクコード一覧

> Didit メール認証の全リスクコードを解説：BREACHED_EMAIL_DETECTED、DISPOSABLE_EMAIL_DETECTED、UNDELIVERABLE_EMAIL_DETECTED、ブロックリスト、OTP送信上限。

メールアドレス認証機能は、OTPフローまたはメールアドレス自体でリスクシグナルが発生するたびに**警告**を出力します。対象となるのは、既知のデータ漏洩、使い捨てメールプロバイダー、配信不能なメールボックス、OTP試行回数の上限到達、ブロックリストや他の承認済み認証との一致です。このページでは、すべてのコード、その発生条件、ワークフローでの対応の設定方法を説明します。

## 概要

警告には機能として`EMAIL`が付与されます。警告はレポートの`email_verifications[].warnings[]`に表示され、標準の[警告オブジェクト](https://docs.didit.me/ja/reference/data-models.md#警告オブジェクト)の形式(`feature`、`risk`、`additional_data`、`log_type`、`short_description`、`long_description`、`node_id`)に従います。各警告はセッションごとのログにも送られるため、Business ConsoleのEmailセクションにも表示されます。

一部の警告は**ハードな自動却下**のトリガーです。これらは常に機能のステータスを`Declined`に設定し、`log_type: "error"`を伴います。それ以外の警告は、ワークフローノードごとまたはAPI呼び出しごとに定義される**設定可能なアクション**(`DECLINE`、`REVIEW`、またはデフォルトの`NO_ACTION`)に対応します。そのため、同じリスクコードでも、あるワークフローでは却下し、別のワークフローではフラグを立てるだけ、ということがあり得ます。設定したアクションによって重大度も決まります。`DECLINE`は`error`、`REVIEW`は`warning`、`NO_ACTION`は`information`になります。

## 自動却下の条件

次の警告は、設定にかかわらず常にメールアドレス認証ステップを却下します。

* `EMAIL_CODE_ATTEMPTS_EXCEEDED`:ユーザーがOTPの試行回数を使い切りました。デフォルトでは、誤ったコードの入力2回(`email_max_check_attempts`)、またはOTPの送信2回(初回送信と再送信1回、`email_max_retries`)が上限です。
* `EMAIL_IN_BLOCKLIST`:メールアドレスが[Lists API](https://docs.didit.me/ja/management-api/lists/overview.md)で管理されているブロックリストに含まれているか、過去に承認され、その後ブロックリストに登録されたメールアドレス認証と一致しました。
* `UNDELIVERABLE_EMAIL_DETECTED`:メールアドレスがメールを受信できません。原因は、無効な構文、存在しないドメイン、DNS(MX)レコードの欠如、またはOTPメールを配信できなかったことです。ステップは直ちに`Declined`として確定し、コードの確認は一切行われません。例外として、ユーザーがメールアドレスを自分で入力した場合(セッション作成時に事前入力されていなかった場合)は、メールを配信できない場合はインラインのエラーが返され、却下される代わりに別のメールアドレスで再試行できます。

## 設定可能なリスク

次の各リスクは、`DECLINE`、`REVIEW`、`NO_ACTION`のいずれかに設定できる設定項目(ワークフローノードごと、またはスタンドアロンの[チェックエンドポイント](https://docs.didit.me/ja/standalone-apis/email-check.md)では呼び出しごと)に対応します。

| 設定 | リスクコード | デフォルトの動作 |
| - | - | - |
| `breached_email_action` | `BREACHED_EMAIL_DETECTED` | `NO_ACTION`:ステータスを変更せず、漏洩の詳細を`information`レベルで表示します。 |
| `disposable_email_action` | `DISPOSABLE_EMAIL_DETECTED` | `NO_ACTION`:ステータスを変更せず、使い捨てメールプロバイダーを`information`レベルでフラグ付けします。 |
| `duplicated_email_action` | `DUPLICATED_EMAIL` | `NO_ACTION`:重複を`information`レベルで記録します。メールアドレスが許可リストに登録されている場合はスキップされます。 |

重複検出の対象は、同じアプリケーション内の**過去に承認済み**のメールアドレス認証のみで、`vendor_data`ごとにグループ化されます。同じ`vendor_data`を共有する認証は同一のエンドユーザーとして扱われ、対象から除外されます。`vendor_data`を空のままにすると、すべてのセッションが別々のユーザーとして扱われます。メールアドレスがメールの許可リストに登録されている場合、重複に対するアクションはスキップされ、代わりに`EMAIL_IN_ALLOWLIST`が出力されます。

## 認証試行回数の制限

メールアドレス認証機能は、不正利用を防ぐためにOTPの試行回数に厳格な上限を設けています。

* **コード入力の試行回数**:`email_max_check_attempts`、デフォルトは**2**回です。2回目の誤ったコード(または期限切れのコード)でステップが確定します。
* **送信の試行回数**:`email_max_retries`、デフォルトは合計**2**回の送信(初回送信と再送信1回)です。それ以上の再送信リクエストでステップが確定します。

いずれかの上限を超えると`EMAIL_CODE_ATTEMPTS_EXCEEDED`が発生し、自動的に却下されます。どちらの上限もワークフローノードごとに調整できます。

## 発生する警告

| タグ | 重大度 | 説明 |
| - | - | - |
| `EMAIL_CODE_ATTEMPTS_EXCEEDED` | `error` | ユーザーがコード入力回数または送信回数の上限を超えました。自動的に却下されます。 |
| `EMAIL_IN_BLOCKLIST` | `error` | このアドレスが[Lists API](https://docs.didit.me/ja/management-api/lists/overview.md)で作成したブロックリストに含まれているか、ブロックリストに登録された承認済みの認証と一致しました。自動的に却下されます。`additional_data`には`blocklisted_session_id`、`blocklisted_session_number`、`api_service`が含まれます(リストのみに一致した場合はすべて`null`)。 |
| `EMAIL_IN_ALLOWLIST` | `information` | このアドレスが[Lists API](https://docs.didit.me/ja/management-api/lists/overview.md)で作成した許可リストと一致したため、メールアドレス重複時のアクションはスキップされました。 |
| `BREACHED_EMAIL_DETECTED` | `breached_email_action`に従う(デフォルトは`information`) | このアドレスが既知の1件以上のデータ漏洩で見つかりました。レポートの`breaches[]`配列には、漏洩したサービス、日付、データの種類が含まれます。 |
| `DISPOSABLE_EMAIL_DETECTED` | `disposable_email_action`に従う(デフォルトは`information`) | このドメインは、追跡を逃れる目的でよく使われる既知の使い捨てメールプロバイダーです。 |
| `UNDELIVERABLE_EMAIL_DETECTED` | `error` | このアドレスはメールを受信できません(構文が無効、ドメインが存在しない、MXレコードがない、または配信に失敗した)。自動的に却下されます。 |
| `DUPLICATED_EMAIL` | `duplicated_email_action`に従う(デフォルトは`information`) | このアドレスは、別のエンドユーザー(`vendor_data`でグループ化)に属する、以前に承認されたメールアドレス認証と一致しています。`additional_data`には`duplicated_session_id`、`duplicated_session_number`、`api_service`が含まれます。 |

1回の試行で発生するのは、`EMAIL_IN_BLOCKLIST`、`DUPLICATED_EMAIL`、`EMAIL_IN_ALLOWLIST`のうち最大1つです。優先順位はブロックリスト、重複、許可リストの順です。

## セッション間の一致

以前に承認されたメールアドレス認証またはブロックリストでアドレスが検出された場合、その一致は`email_verifications[].matches[]`にも表示されます(最大5件)。各一致には`session_id`、`session_number`、`vendor_data`、`verification_date`、`email`、`status`、`is_blocklisted`、`api_service`、および`session`(別の承認済みの認証)または`list_entry`(ブロックリストのエントリ)のいずれかを示す`source`が含まれます。現在のアドレスがメールアドレスの許可リストに含まれている場合、Diditは一致の証跡を保持しますが、メールアドレス重複時のアクションを適用する代わりに`EMAIL_IN_ALLOWLIST`を発行します。一致の完全なスキーマについては、[メールアドレス認証レポート](https://docs.didit.me/ja/core-technology/email-verification/report-email-verification.md#セッション間の一致)を参照してください。

## 例

```json theme={null}
{
  "warnings": [
    {
      "feature": "EMAIL",
      "risk": "EMAIL_IN_BLOCKLIST",
      "additional_data": {
        "blocklisted_session_id": null,
        "blocklisted_session_number": null,
        "api_service": null
      },
      "log_type": "error",
      "short_description": "Email in blocklist",
      "long_description": "The system detected that the email is in the blocklist, which is not allowed.",
      "node_id": "feature_email_1"
    },
    {
      "feature": "EMAIL",
      "risk": "DISPOSABLE_EMAIL_DETECTED",
      "additional_data": null,
      "log_type": "information",
      "short_description": "Disposable email detected",
      "long_description": "The system detected that the email is disposable, which is not allowed.",
      "node_id": "feature_email_1"
    }
  ]
}
```

## 警告の種類

各リスクには、アプリケーションの設定に基づいて重大度が割り当てられます。重大度は次の3つのカテゴリに分かれます。

## 関連ページ

* [メールアドレス認証の概要](https://docs.didit.me/ja/core-technology/email-verification/overview.md):機能の動作と料金。
* [メールアドレス認証レポート](https://docs.didit.me/ja/core-technology/email-verification/report-email-verification.md):`lifecycle[]`と`matches[]`を含むレスポンスの完全な構造。
* [データモデル:メールアドレス認証](https://docs.didit.me/ja/reference/data-models.md#メールアドレス認証):フィールドごとの正式なスキーマ。
* [Management API:Lists](https://docs.didit.me/ja/management-api/lists/overview.md):`EMAIL_IN_BLOCKLIST`で使用されるメールアドレスのブロックリストを管理します。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.