これは Postfix Advent Calendar 2014 の4日目の記事です。
Postfix では拡張メールアドレスを使うことができます。
tmtms@eample.com というメールアドレスがあった場合、tmtms+ext@example.com というメールアドレスも自動的に有効になります。ext 部分はなんでも構いません。
サービス毎に異なるメールアドレスを登録したい場合にいちいち aliases 等でメールアドレスを新たに作成する必要はありません。
Gmail でも使えるようですが自分は Gmail 使ってないので詳しくは知りません。元々の発祥は qmail だと思います。
拡張メールアドレスを使うには、recipient_delimiter パラメータに区切り文字を設定します。
上のように tmtms+ext@example.com としたい場合は、recipient_delimiter = + とします。
この前 Postfix の最近のパラメータについて調べたときに気がついたのですが、Postfix 2.11 から recipient_delimiter に複数文字を登録できるようになってました。
recipient_delimiter = +- と設定すると、tmtms+ext@example.com と tmtms-ext@example.com の両方が拡張アドレスとして使えるようになります。
ときどきメールアドレスに + 文字が使えないダメなサイトがあるので、その時に代わりに - を使ったりすることができて便利ですね。
RFC5322 的にローカルパートで普通に使える文字は次のとおりです。これらの文字以外は recipient_delimiter には指定しない方がいいと思います。
ASCII英数字と
!#$%&'*+-/=?^_`{|}~
特定の拡張メールアドレス宛にきたメールだけ特別な処理をしたい場合は、$HOME/.forward+ext として forward ファイルを書いておくとそれが使用されます。
たとえば、あるサービスに tmtms+hoge@example.com として登録した後、そのメールアドレスに迷惑メールが送られてきてしまうという場合は、$HOME/.forward+hoge ファイルに /dev/null と書いておくとメールを見なくてすみます。