05 December '2006 - 11:22 | 技術動向 +の代わりにーを使う方法
メールサーバを GFYD に移行して一番困ったのが、エイリアスに使う文字がーではなく+であるということ。
まあ、これ自体はべつに困る話ではないのだけれど、+が入ってるとメールアドレスとして認識しない馬鹿なサイトも山ほどある。先日、マイクロソフトのサイトのどこかでもそういう目にあった。「正しいアドレスを入れてください」って、おまえの方が正しく認識しろ、っての。
そこで、foo+hoge@example.com を理解できないサイトのために foo-hoge@example.com も受信できるようにする方法を考えてみた。
GFYD の場合、登録されているアドレスとそのエイリアス以外へのすべてのメールを、特定のアカウントに転送することができる。Catch-all address というのがそれ。まず default というアカウントを作って、Catch-all address を default@example.com に設定する。これで、foo-hoge@example.com は default@example.com に転送される。
つぎに default@example.com のフィルタを以下のように設定する。
Matches: to:(foo-)
Do this: Forward to foo@example.com, Skip Inbox, Delete itMatches: to:(bar-)
Do this: Forward to bar@example.com, Skip Inbox, Delete itMatches: -{to:foo- or to:bar-}
Do this: Forward to foo+default@example.com, Skip Inbox, Delete it
このフィルタで、foo- 宛のメールは foo に、bar- 宛のメールは bar に、それ以外は foo+default に転送される。
これで、+が理解できない馬鹿サイトだけれどメールアドレスを教えないと仕方ない、というような悲しい状況に陥った場合にもーを使ったエイリアスを使うことができる。
機械相手にメインで使っているメールアドレスを教えるなんて、今時は自殺行為以外の何者でもないし、すべての場面でエイリアスを使うのは最低限の防御だし、これで一件落着。
GFYD は、既存の gmail notifier が使えないとか、Notebook や Reader などのサービスが利用できないので結局 GFYD と gmail の二つのアカウント管理する必要があるなど、いくつかのデメリットがあるのは確かだけれど、エイリアスに+だけでなくーも使えるというのはかなりメリットかも知れない。
アカウント数の多すぎるところではやってられない設定だし、フィルタに正規表現が使えるようにしてくれれば完璧なんだけどなあ。