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
alias_maps = hash:/etc/aliases, pcre:/etc/postfix/aliases.pcre
postfix 再起動して設定変更を反映?させます
# postfix reload
# postmap /etc/postfix/aliases.pcre
# postmap /etc/postfix/aliases.pcre
システム要件
どんなときにこのシステムが求められるかというと、
- 携帯(ガラケー)会員サービスを運営しており、ログインせず写真をアップロードする専用アドレスが必要
このような場合で、システム的には、以下の要求が発生します。
- ユーザごとの専用アドレスの発行
- 他のユーザのアドレスが知られないようなアドレス
- そのアドレスから写真貼付メールが送られるので、受信後、ユーザと写真を紐づけた状態で保存
動作検証
適当なphpスクリプトを用意して、メール受信→プログラム起動、を確認します。
検証用php
/tmp/test.php をこのように用意します。
<?php $fp = fopen("/tmp/test.php.log","w+"); fwrite($fp,date("His")); ?>
ファイルとログに実行権限を与えて、実行してみます。
# 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ですね!