Catch allアドレスの応用
Gmailにはとても便利な仕組みがあって、アドレスの後ろに「+文字列」のメールアドレスを任意に設定できる。たとえば「foobar@gmail.com」というアドレスを持っていたとしたら、特に設定をしなくても「foobar+amazon@gmail.com」とか「foobar+shopping@gmail.com」といったメールアドレスが使えるのだ。
今自分がどういう運用をしているかというと、「shopping@foobar.com」というアドレスが必要だとしたら、いちいちXREAの管理コンソールから「shopping@foobar.com」のメールアドレスを設定して、設定が適用されたことをテストメールで確認して、それから運用開始、という非常に面倒くさい手順になっている。ちなみにメインで使っているメールアドレスを2つ用意していてここでは①「main@foobar.com」と②「mailbox@foobar.com」としておく。①のアドレスはケータイと②のアドレスに転送する設定になっていて、②は転送しない。①は友達などに教えるアドレスで、②は外部には公表せず、メールを受信する専用に使っている。「shopping@foobar.com」がケータイへの転送を必要とするアドレスなら①への転送を設定し、不要なら②への転送を設定するという具合だ。
簡単にまとめるとこんな感じ。
【メイン】
①main@foobar.com
⇒ケータイと②に転送②mailbox@foobar.com
⇒メール受信用おまとめアドレス【サブ】
(A)newsa@foobar.com
⇒ケータイに転送したいので①に転送(B)newsb@foobar.com
⇒ケータイには転送しないので②に転送(C)・・・・
(D)・・・
これだとメールアドレスを追加するたびにコンソールをいじらないといけないし、設定がどんどん増えていくので管理上よろしくない。Gmailと同じようなことが出来ないかと考えてひらめいた。
それがCatch allアドレスだ。Catch allアドレスというのは、メール設定されていないアドレス宛に来たメールを全て受信するメールアドレスのこと。よく知らないけど、通常は間違ったメールとかを受信して確認するために使ったりするのかな、と思われる。これを応用して、Gmailのように任意のメールアドレスを受信できるようにしようという訳。ただし、ケータイに転送する・しないの設定をしたいので、単純に「@foobar.com」のCatch allアドレスを設定したのでは具合が悪い。それを解消するためにサブドメインを利用することにした。
【メール設定】
(X)default@main.foobar.com
⇒①に転送
(Y)default@sub.foobar.com
⇒②に転送【DNS設定】
a * サーバのIPアドレス
mx @ 10
mx @ 10 main
mx @ 10 sub
txt @ v=spf1 ip4:サーバのIPアドレス ~all
メールアドレスのアカウント部分(@の左側)に「default」を指定すると自動的にそのドメインのCatch allアドレスとなります。DNS設定は強調したところを追加するイメージです。(それ以外はXREAのデフォルト設定)
これでイチイチ管理コンソールをいじることなく、いつでも任意のメールアドレスを使うことが出来るようになった。「abcde@main.foobar.com」ならケータイとおまとめ用アドレスにに転送され、「abcde@sub.foobar.com」ならおまとめ用アドレスのみに転送される。フリーのサービスなんかに登録するときは個別のメールアドレスを設定してあげれば様々なリスクを最小限にすることが出来るだろう。
問題は既に設定してしまったメールアドレスの移行なのだが…これはまぁおいおいやっていくことにしよう。
…ってなんかすごい画期的なことを思いついたような書き方をしてしまったけど、これ、Catch allの当たり前の使い方だったらとても恥ずかしい。