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

2011/12/14

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 をこのように用意します。

<?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ですね!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です