
# 非本番環境のテストユーザーとメッセージ

`development` 環境と `staging` 環境はテスト用です。`production` 環境とは次の 2 点で異なります。テストユーザーと固定のコードでサインインできること、そして環境から送信されるすべてのメッセージに目印が付き、実際のメッセージと誤認されないように制限されていることです。このページの次の 2 つの項目はまだ利用できず、`planned` と表示しています。ログの末尾のエントリーと SMS です。

## テストユーザーと固定コード

テストユーザーは、識別子がテスト用に予約された通常のユーザーです。

- **テスト用メールアドレス:** ローカル部に `+test` タグを含みます（例: `ada+test@example.com` や `ada+test_1@example.com`）。
- **テスト用電話番号:** `+1 555 555 0100` から `+1 555 555 0199` までの番号です。これは架空の利用のために予約された範囲です。

`development` 環境と `staging` 環境では、これらの識別子に対して何も送信されません。`development` 環境では、ワンタイムコードとマジックリンクのコードは常に `424242` として受け付けられます。（`planned`: 実際のコードも生成され、ログの末尾に表示されるため、そのコードを使ってテストすることもできます。）

固定コードが有効なのは、`development` 環境のテスト用識別子に対してのみです。それ以外のアドレスや、`staging` 環境では無効です。`production` 環境では、`+test` のアドレスも他のアドレスと同じように動作し、固定コードは存在しません。テストユーザーは、通常のユーザー数に含まれます。

テストユーザーは、他のユーザーと同様に [ユーザーを作成](/docs/api/management/users/create) API で作成します。

ログインページを使わずにテストユーザーのトークンを取得するには、`keenauth test login --user ada+test@example.com --client-id <application ID>` を実行します（[keenauth test login でテストユーザーをサインインさせる](/docs/cli/test-login) を参照してください）。

## メッセージの接頭辞と抑制

`development` 環境と `staging` 環境では、送信されるすべてのメール に目印が付きます。件名は `[DEV]` または `[STAGING]` で始まります。この接頭辞は、カスタムテンプレートでも、メッセージを送信する呼び出しでも削除できません。この仕組みにより、この環境をフィッシングに悪用しにくくなっています。

これらの環境では、1 日にプラットフォームから送信できるメールの数にも上限があります。上限は、環境がメールをどのように送信するかによって異なります。

| | `development` | `staging` |
|---|---|---|
| プラットフォームの送信元（既定） | 1 日最大 100 通 | 1 日最大 100 通 |
| 独自の SMTP サーバーまたはメールプロバイダー | 1 日最大 500 通 | 1 日最大 2,000 通 |
| SMS（`planned`） | 環境のメンバーの認証済み番号にのみ送信されます。テスト用番号宛てのメッセージは、送信されずに抑制されます。 | 1 日最大 100 通 |

上限を超えたメッセージは抑制され、送信されません。（`planned`: ログの末尾に `message_suppressed` のエントリーが表示されます。）SMS の本文には、同じ `[DEV]` または `[STAGING]` の接頭辞が付きます。

これらの環境の送信元アドレスは、プラットフォームの共有ドメインです。プラットフォームが管理するカスタム送信元ドメインは、`production` 環境でのみ利用できます。独自の SMTP サーバーまたはメールプロバイダーは、すべての環境の種類で利用でき、上記の接頭辞と上限が適用されます。
