aliasesファイルに
account_name: "|/usr/bin/php /path/to/script"
などとして、あるアカウントのメール受信をトリガーにPHPスクリプトを実行しています。
今回、複数の以下の書式のメールアドレスを一括して受信し、
受信をトリガーにPHPスクリプトを実行し、
アカウント部分を抽出したいです。
[書式]
abc_12_34_56@example.com
正規表現で
abc_[0-9]+_[0-9]+_[0-9]+@example.com
にマッチする形式になります。
方法をご存じの方がいらっしゃればご教授ください。
Mail::mimeDecodeを使って下記のようにします。
<?php $raw_mail = stream_get_contents(STDIN); $params = array(); $params['decode_headers'] = TRUE; $decoder = new Mail_mimeDecode($raw_mail); $structure = $decoder->decode($params); $from = $structure->headers['from']; if (preg_match('/(abc_[0-9]+_[0-9]+_[0-9]+)@example.com/', $from, $arr) > 0) { $res = $arr[1]; } echo $arr[1]; //求めるアカウント ?>
ありがとうございます。
PHP側は解決ですね。
ただ、Postfix側で質問の書式のメールアドレスを一括して受信する方法もしりたいです。
引き続き、ご回答いただければと存じます。