c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

Gmailみたいな、uzulla+hogehoge@〜なワイルドカード受信を設定する

今、メール駆動のウェブ?サービスをつくってるんですが、ユーザーの投稿先アドレスを大量に用意する必要があるんですよね。ただ、バカ正直にUnixユーザー追加するのは馬鹿馬鹿しいので普通しません。
大抵は、アドレス非存在時の配送失敗で再配送される機能を逆に利用して、全部のメールを一個のプログラムへ流し込み、そのプログラムがToを解析してそれぞれの処理をする、という感じになると思います。


ただ、メールサーバーの設定って本当に面倒くさいですよね。SendmailqmailPostfixもxmailもちゃんとやろうとするとすげーめんどい。みんなGmailつかえばいいよ、俺もうメールサーバーとか管理したくない…。
しかしまーそんなこといってたらご飯食べられませんね。


ってことで、aliasesあたりの機能でできないかなーって考える訳ですよね。
さて、Postfixだとrecipient_delimiterを有効にすることで、「Gmailと同様に uzulla+hoge, uzulla+hageなど、+以降がどんなアドレスでもuzullaに配送される」という設定が可能ですね。


main.cfの

recipient_delimiter = +

の行を有効にして再起動して、/etc/aliases へ

hoge: "|/bin/cat >> /tmp/dump"

とかって記述してからnewaliasesすると、完璧ですね。


これは実際本当に便利な機能でして、四苦八苦してメールサーバーに自分でも理解できないようなヘンテコな設定をしなくても、aliasesに追記するだけでメール駆動させるサービスに必要なワイルドカードなアドレスを手軽に用意させる事が出来ます。おすすめです。