postfixでランダムなアカウントに対応させる

· サーバ

postfixを使っている環境で、(ランダムな英数字)-test@mail.server.com というアドレスで受信させる設定方法です。

実はほぼこのページ(【postfix】aiaseでのランダムメールアカウント設定)で完結していますが、改めて残しておきます。

設定ファイルを編集します。

vi main.cf

pcreの部分を追記します。

alias_database = hash:/etc/aliases, pcre:/etc/postfix/aliases.pcre

alias_maps = hash:/etc/aliases, pcre:/etc/postfix/aliases.pcre

postfix 再起動して設定変更を反映?させます

postfix reload

postmap /etc/postfix/aliases.pcre

システム要件

どんなときにこのシステムが求められるかというと、

  • 携帯(ガラケー)会員サービスを運営しており、ログインせず写真をアップロードする専用アドレスが必要

このような場合で、システム的には、以下の要求が発生します。

  • ユーザごとの専用アドレスの発行

  • 他のユーザのアドレスが知られないようなアドレス

  • そのアドレスから写真貼付メールが送られるので、受信後、ユーザと写真を紐づけた状態で保存

動作検証

適当なphpスクリプトを用意して、メール受信→プログラム起動、を確認します。

検証用php

/tmp/test.php をこのように用意します。

ファイルとログに実行権限を与えて、実行してみます。

echo 123 | mail -s subject aaa-test@mail.server.com 

/tmp/test.php.logに時間が記述されてたらOK!

こんなんとかも試してみる。

echo 123 | mail -s subject hogehoge-test@mail.server.com 

再び、/tmp/test.php.log を確認。

何も記述されてない場合は、エラーが起きてるかもしれませんので、メールログを見てみましょう。原因が分かるかも。

まとめ

これでphpが動くのが確認できたので、あとはphp側でメールアドレスを解析してユーザとひもづけてあげればOKですね!