Catch-allメールボックスは、存在しない宛先を含め、ドメイン宛ての全メールを受信します。typo@yourdomain.com を550エラーで拒否せず受け入れるため、入力ミスを救えますが、迷惑メール、フィッシング、アドレス探索も入ります。配信や復旧は保証されません。
保護なしで有効にすると、短期間で送信者評価へ影響する可能性があります。設定自体より、安全に運用するための隔離が重要です。
Microsoft 365、Linux、Google Workspace向けの三つの隔離方法を説明します。必要性を検討中なら、先にドメインのcatch-allメールをご覧ください。
Catch-allメールボックスとは
ドメイン上の既存アドレスと一致しないメールを一つの受信箱で受け取る仕組みです。misspelled-name@yourdomain.com 宛てのメールは、他の配信条件も満たせば指定メールボックスへ届きます。
サーバーはより多くの通信を受け入れます。迷惑メールボット、フィッシング、自動ディレクトリ探索にも250 OKを返します。隔離しなければ通常メールに混ざり、ドメイン評価を損なうことがあります。
基本原則: 主要受信箱へ転送しない
Catch-all通信はDirectory-Based Edge Blocking (DBEB)を回避し、受信者確認の前に内容が受理される場合があります。ceo@company.com など稼働中の受信箱へ流すと、安全上の盲点になります。
以下はすべて同じ原則に従います。catch-all通信を本番メールから隔離することです。
方法1: 隔離用シンク (Microsoft 365 / Exchange)
法務やディスカバリー目的でcatch-allメールを保管しつつ、頻繁な通知を避けたい組織向けです。保持期間、権限、プライバシーは別途設定します。
仕組み
- 受信 - 未知の受信者宛てメールを受理します。
- タグ付け - Transport Ruleが外部かつ有効ユーザー宛てでないメールを識別します。
- 抑制 - Spam Confidence Level (SCL)を9に設定します。
- 保存 -
catchall-sink@yourdomain.comのような共有メールボックスへ送ります。
PowerShell設定
Exchange Admin Centerでドメインを"Internal Relay"にしてDBEBを無効にし、次を実行します。
# Create the sink (shared mailbox - no license needed)
New-Mailbox -Shared -Name "CatchAll Sink" -PrimarySmtpAddress catchall-sink@yourdomain.com
# Create the transport rule
New-TransportRule -Name "Catch-All Routing & Suppression"
-FromScope "NotInOrganization"
-SentTo "catchall-sink@yourdomain.com"
-RedirectMessageTo "catchall-sink@yourdomain.com"
-SetSCL 9
-ExceptIfRecipientBelongsTo "All Valid Users Group"
SCL 9を使う理由 設定しないと通知が大量に届きます。SCL 9は迷惑メールフォルダーへ移します。保持方針に沿って定期確認してください。
方法2: タグ付きストリーム (Postfix / Linux)
自社のPostfix/Dovecotでは、別メールボックスが不要な場合があります。ヘッダーを付け、クライアントまたはSieveで分類します。
仕組み
- 受信 -
luser_relayが未知のローカル受信者宛てを受理します。 - 変更 - MTAが
X-Catch-All: Trueヘッダーを追加します。 - 振り分け - Sieveが専用フォルダーへ移します。
Postfix設定
# /etc/postfix/main.cf
# Route unknown local users to a specific alias
luser_relay = catchall_alias
# /etc/postfix/virtual
# Map the alias to a real user
catchall_alias realuser@yourdomain.com
重要: luser_relay はローカルドメイン専用です。複数の仮想ドメインには、ワイルドカード付きの virtual_alias_maps を使います。
# /etc/postfix/virtual
@example.com realuser@example.com
Catch-allと同時にメール転送を設定する場合、virtual mapの競合を避けてください。重複規則は誤配送の主な原因です。
Sieveフィルター
目視で分けず、自動化します。
if header :contains "X-Original-To" "catchall_alias" {
fileinto "Junk/CatchAll";
stop;
}
方法3: 部分ワイルドカード (正規表現ルーティング)
完全なcatch-allが不要なら、*@domain.com をすべて受けず、sales-*@domain.com など特定パターンだけを受け、残りを拒否します。
仕組み
MTAやメール事業者で正規表現に一致する sales-webinar@ や sales-q1@ を受け、危険性の高い admin@ や hr@ は拒否します。
Google Workspace設定
- Apps > Google Workspace > Gmail > Default Routing を開きます。
- Specify Envelope Recipients で"Pattern Match"を選びます。
- 正規表現を入力します:
^sales-.*@yourdomain\.com$ - Envelope recipientを
sales-team@yourdomain.comに変更します。
結果: sales-promo@yourdomain.com は受理され、admin@yourdomain.com は550で拒否されます。ディレクトリ探索攻撃の対象を大きく減らせますが、完全にはなくせません。
実際のメールエイリアスとして使うなら、部分ワイルドカードと転送を組み合わせ、認証とループ対策を確認します。
Catch-allのルーティングループを防ぐ
特に危険なのがルーティングループです。次のように発生します。
- Catch-allが
ghost@domain.com宛てを受理します。 - 規則が
external@gmail.comへ自動転送します。 - GmailがSPF/DMARC失敗で拒否します。
- GmailがNDRを
ghost@domain.comへ返します。 - Catch-allが返送メールを受理します。
- 規則が再びGmailへ転送します。
MaxHopCount超過まで繰り返します。
5.4.14 Hop count exceeded や 5.4.6 Routing loop detected が表示されます。通信量の多いドメインでは送信キューが増え、迷惑メール遮断を招く場合があります。
予防チェックリスト
- ヘッダー確認 - MTAが
X-LoopとDelivered-Toを認識することを確認します。 - 自動返信を除外 -
Auto-Submitted: auto-generatedを持つメールを規則から外します。 - Microsoft 365の注意 - 標準の送信迷惑メール方針は外部転送を
5.7.520 Access deniedで遮断します。有効化するとバックスキャッターリスクが増すため、最新文書を確認して判断します。
事業者別の注意点はメールエイリアス転送のガイドで説明しています。
多くのcatch-all設定が不要な理由
企業がユーザー単位の費用を避けるためにcatch-allを使うことがあります。support@、billing@、jobs@ が必要でもGoogleやMicrosoftへ一人あたり$18/monthを払いたくない場合、近道に見えます。記載価格は例であり変更される場合があります。
実際には、評価リスクを伴う技術的負債です。
代替案はユーザー単位で課金しない事業者です。ここに記載する現行構成では、TrekMail は共有ストレージを使います。
- Nanoプラン - $0、カード不要。
- Starter - $3.50/mo、14-day試用。
- Pro - $10/mo、14-day試用。
- Agency - $23.25/mo、14-day試用。
support@、billing@、jobs@ を実メールボックスまたは独自ドメインのエイリアスとして作成します。正しいディレクトリ情報があれば、サーバーは未知の宛先を境界で550拒否でき、評価保護に役立ちますが保証はされません。Transport Rule、Sieve、正規表現が不要になることもあります。
複数ドメインを管理する場合はcatch-all回避策のリスクを評価してください。TrekMailのcatch-all受信箱も安全網にはなりますが、適切なDNS、認証、ストレージ、迷惑メール方針は必要です。
まとめ
Catch-all自体ではなく、無防備な運用が危険です。Exchangeは隔離シンク、Postfixはタグ付きストリーム、Workspaceは部分ワイルドカードなど、環境に合う方法を選び、本番メールと混ぜないでください。
または、適切なプランで実アドレスを無理なく作れる事業者を選び、複雑さを避けます。決定前に最新価格と上限を確認してください。