これは Postfix Advent Calendar 2014 の4日目の記事です。
Postfix では拡張メールアドレスを使うことができます。
tmtms@example.com
というメールアドレスがあった場合、tmtms+ext@example.com
というメールアドレスも自動的に有効になります。ext
部分はなんでも構いません。
サービス毎に異なるメールアドレスを登録したい場合にいちいち aliases 等でメールアドレスを新たに作成する必要はありません。
Gmail でも使えるようですが自分は Gmail 使ってないので詳しくは知りません。元々の発祥は qmail だと思います。
[追記] どうやら qmail 以前に Sendmail でも使えたようです。
拡張メールアドレスを使うには、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
と書いておくとメールを見なくてすみます。