catch-all メールとは、ドメイン宛のメールを宛先を問わずすべて一つの受信箱へ集める設定のことです。本記事では、これがステージング環境で重宝される理由と、設定を誤ったときに何が起きるのかを整理します。読み終えると、全収の範囲をどこで止めるべきかを自分で決められるようになります。
全収アドレスは何をしてくれるのか
通常のメールボックスは、存在する宛先にだけメールを受け取ります。登録していない宛先に届いたメールは、その場で拒否されます。全収の設定は、この対応表を必要としません。ドメインの下に来たメールは、宛先が何であっても同じ受け口に落ちます。
ステージング環境では、これが大きな助けになります。動作確認のたびに新しい利用者を作ると、そのたびに新しいアドレスが必要になります。全収の設定があれば、確認の単位ごとに好きな宛先をその場で決められ、事前に登録する手間がありません。
宛先の一覧を作らない運用は何をもたらすか
全収の設定を選ぶと、宛先の対応表を持たなくて済みます。この利点は、確認の初期段階では大きなものです。一方で、対応表を持たないということは、どこにも登録されていない宛先にもメールが届く状態を作るということでもあります。
この状態が望ましいのは、そのドメインへ届くメールがすべて自分たちの確認用である場合だけです。ドメインを外部に公開していたり、案内の送信元として使っていたりすると、届くメールの出所が自分たちだけではなくなります。運用を始める前に、この前提が成り立っているかを確認してください。成り立っていないなら、全収の範囲を絞るか、専用のドメインを用意する必要があります。
ステージングで一本化すると何が楽になるのか
具体的には、次のような場面で効きます。
- 同じ画面から十人分の登録を試したいとき、十個の宛先を用意せずに済みます。
- アドレスを自動生成する手順と相性がよく、実行のたびに別の宛先を使えます。
- どのメールがどの宛先に届いたのかを、一つの画面で横並びに確認できます。
- 受け口が一つなので、確認の自動化も一箇所を見るだけで済みます。
とくに、実行ごとに別の宛先を割り当てられる点は重要です。並行して走る確認が互いのメールを拾わなくなります。
便利さの代わりに何を失うのか?
全収の設定は、受け取る量を制限しません。ここが最大の代償です。次のような事態が起こり得ます。
| 起きること | なぜ起きるか | 影響 |
|---|---|---|
| 受信箱が膨らむ | 宛先を問わず何でも入る | 確認したいメールが埋もれる |
| 本物の利用者のメールが混ざる | ドメインが外部に知られている | 見てはいけない情報を扱う |
| 内部の連絡が外へ出る | 経路の設定を間違える | 情報の漏えいになる |
三行目は、便利さではなく危険の話です。ステージング用のドメインが本番の内部通知にも使われていると、全収の受け口が本来届くべきでない連絡まで集めてしまいます。
どこで境界を引くべきか?
境界の引き方は、次の順に決めると整理できます。
- そのドメインはテスト専用か。本番の通知と共用していないかを最初に確かめます。
- 全収の受け口は、外部から見える場所に置かれていないか。
- 保管する期間を決め、古いメールを自動で消す仕組みを入れるか。
- テスト用の宛先には、見分けのつく印を付けるか。
一番大切なのは最初の項目です。テスト専用のドメインを分けておけば、本番の利用者へ届くはずのメールを誤って集める事故は起こりません。
なお、ここで扱う全収の受信箱は動作確認のためのものであり、実在の身元として使える連絡先ではありません。テストの外へ持ち出さないでください。
開発者向け: 全収の運用で決めておくこと
まず、宛先の設計です。全収にすると、任意の文字列が有効な宛先になります。そこで、確認の識別子を宛先の一部に埋め込む形にすると、受信箱の一覧を見ただけでどの実行のメールかが分かります。件名や本文を解析するより確実です。
次に、範囲の制限です。全収の設定はドメイン単位で効きます。テスト用のドメインを本番と分け、さらに受け口を外部へ公開しない構成にしてください。設定によっては、特定の前置きだけを全収の対象に絞ることもできます。絞れるなら絞ったほうが安全です。
第三に、保管と削除です。全収の受信箱は放っておくと必ず膨らみます。確認が終わった実行のメールを消す手順を、テストの後片付けに組み込んでください。保持する期間を決めて自動で消す仕組みがあるとなお良いです。
第四に、本番のデータを巻き込まないことを、確認項目として手順書に書きます。設定そのものは一度書けば終わりですが、ドメインの使い回しは後から起きます。四半期ごとなど、見直す機会を決めておくと安全です。
次のステップ
まず、手元のテスト用ドメインが本番の通知と分かれているかを確認してください。分かれていないなら、それが最優先の修正点です。次に、テストの後片付けに受信箱の削除を足します。
実際の受信箱を用意するには使い捨てメールのツールが使えます。受け口を一つにまとめる考え方の隣には、一時メールと別名アドレスの違いという選択肢もあります。テストデータの扱い全般についてはテスト身元データとはも参考になります。