Postfixに関する質問です。


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
にマッチする形式になります。

方法をご存じの方がいらっしゃればご教授ください。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/06/09 20:42:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:Bombastus No.1

回答回数409ベストアンサー獲得回数52

ポイント60pt

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];    //求めるアカウント
?>

id:masashi0316

ありがとうございます。

PHP側は解決ですね。

ただ、Postfix側で質問の書式のメールアドレスを一括して受信する方法もしりたいです。

引き続き、ご回答いただければと存じます。

2010/06/09 15:50:36

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません