virtual_alias_maps を使い foo_* なメールアドレス宛を受信できるようにする

MTA の実装の一つである postfix で virtual_alias_maps の機能を使い 以下のような頭がfoo_で始まる本来は存在しないアドレスを全てfoo@example.comに転送させるようにしてみる。 つまりこの機能を使うと動的に仮想のメールアドレスが作れるようになります。

foo_123@example.com
foo_abc@example.com
foo_で始まるアドレス全部・・・

マップするメールアドレスの対応を列挙します。

/usr/local/etc/postfix/recipient_canonical

/^foo_(.*)\@example\.com$/      foo

設定を書き込んだマップファイルをvirtual_alias_mapsに関連づけます。

main.cf

virtual_alias_maps = regexp:/usr/local/etc/postfix/recipient_canonical

上記の設定が済みましたらpostfixをリロードしてfoo_なアドレスへ送信してください。 設定がうまくいってれば foo@example.com へメールが転送されます。

またalias設定をするとfooなユーザがいなくてもスクリプトにメールを渡す事も可能なのでスクリプト側でメールを処理させることも可能です。

/etc/aliases

foo: |/path/to/mail.pl

この仮想メールアドレスの機能を使ったシステムとして「本当のメールアドレスを知らなくてもメールのやり取りを出来るサービス」を作ったりしました。

created:

Back to top