2026/03/28
タグベースアドレスでテスト用メールアドレスを即座に準備する
タグベースアドレステストAPI
タグベースアドレスとは
MailBrewのタグベースアドレスは、{任意の文字列}@{会社名}.mailbrew.dev の形式でメールを受信できる機能です。
user-001@acme.mailbrew.dev
signup-test-abc@acme.mailbrew.dev
password-reset-xyz@acme.mailbrew.dev
これらのアドレスは事前に作成APIを呼ぶ必要がありません。最初のメール受信時にアドレスが自動登録されます。なお、メールが届く前に受信箱の取得や待機APIを呼ぶと404になるため、受信後に取得してください。
従来のアプローチとの違い
従来: APIでアドレスを作成
// 1. APIを呼んでアドレスを作成(ネットワーク遅延あり)
const addr = await mb.createAddress({ ttl: 300 });
// 2. 作成したアドレスを使用
await page.fill('[name="email"]', addr.address);
タグベース: 即座に使用
// UUIDを生成してそのまま使える(作成API呼び出し不要)
const addr = `test-${crypto.randomUUID()}@acme.mailbrew.dev`;
await page.fill('[name="email"]', addr);
メリット
- 作成APIの待ち時間なし — アドレス文字列をすぐテストで使える
- 作成APIのレート制限を消費しない — 受信後の取得・待機APIは通常どおり制限対象
- テストの並列実行に最適 — UUIDを使えば衝突の心配なし
- シンプル — アドレスを用意するためのSDK呼び出しが不要
活用パターン
パターン1: テストケースごとのアドレス
test('サインアップフロー', async ({ page }) => {
const email = `signup-${Date.now()}@acme.mailbrew.dev`;
// ...
});
パターン2: サービスごとのアドレス
マイクロサービス環境で、サービスごとにプレフィックスを分ける:
auth-service-{id}@acme.mailbrew.dev
billing-{id}@acme.mailbrew.dev
notification-{id}@acme.mailbrew.dev
パターン3: 多言語テスト
const locales = ['ja', 'en', 'zh'];
for (const locale of locales) {
const email = `lang-test-${locale}@acme.mailbrew.dev`;
await testSignupFlow(email, locale);
}
メール取得
タグベースアドレスに届いたメールは、通常のAPIで取得できます:
const email = await mb.waitForEmail(
`test-abc@acme.mailbrew.dev`,
{ timeout: 30000 }
);
カスタムドメインとの組み合わせ
Proプラン以上では、カスタムドメインとタグベースアドレスを組み合わせられます:
test-{id}@mail.your-company.com
自社ドメインのメールアドレスでテストできるため、ドメインベースのバリデーションがあるアプリケーションのテストにも対応できます。
まとめ
タグベースアドレスは、テスト用メールアドレスの生成をゼロコストにします。特にE2Eテストの並列実行やCI環境での使用に最適です。