Exim4でメールアドレスを量産する
EメールアドレスをGMailのようにサフィックスを付けても通るようにしたかったのでちょっとやってみました。
GMailのように '+' を使うルールだとこれを弾くサービスが増えてきたので、エイリアスの区切りには怪しくないように '.' を使うことにします。例えば
user@hoge.com user.fuga@hoge.com user.fuga.piyo@hoge.com
というメールアドレスはぜんぶ user 宛に届くようにします。
以下はDebian Wheezyでの方法です。Exim4を選んだのはDebianを入れると標準でインストールされるから。
Exim4の設定
前提として、インターネット上からメールを受け取れるようにする設定は既に済ませてあるものとします。
それに加えて /etc/exim4/conf.d/router/ 以下に 399_exim4-config_dot_alias を作成するだけです
dot_aliases: driver = redirect condition = ${if match{$local_part}{\.} {true} {}} data = ${sg {$local_part}{\N\..*$\N}{}}@$domain
これで /etc/init.d/exim4 restart すれば完了。エイリアスが欲しいだけならこれで終わりです。
振り分け
本当はこっちがやりたかった事。メールアドレスの量産の他に、自動的に規則的な階層を持つような振り分けをしたかったので以下のようにしました。
方針
振り分けルール以外は一般的なMaildir形式の設定をするだけ。
エイリアスに '.' を選んだのは、RFCのメールアドレスでの '.' の扱い方の法則がDovecotにおけるMaildir++の階層の表現方法にとって都合が良く扱いやすかったからというのもあります。
Exim4
Maildir方式に変更。
/etc/exim4/update-exim4.conf.conf の dc_localdelivery= を変更
dc_localdelivery='maildir_home'
Dovecot
dovecot-imapdをインストール。
Maildir形式への変更。
/etc/dovecot/conf.d/10-mail.conf の mail_location の行
mail_location = maildir:~/Maildir