[PHP-users 35001] .forwardでメールの内容がPHPに渡せない

Shinichiro Isozaki isozaki @ blpac.com
2010年 2月 15日 (月) 17:22:08 JST


こんにちは。

.forwardにてメールの内容をパースしようとしているのですが、
メールの中身をスクリプトに渡すところでつまづいています。

まず.forwardにてメール転送がきちんと行われるか確認しました。

次に以下のような.forwardとPHPスクリプトを用意し、メール受信時に
スクリプトが動いているか確認しました。
---[.forward]---------------------------------------
| "/var/www/html/mail_parse.php"

---[mail_parse.php]----------------------------------
#!/usr/bin/php -q
<?php
set_time_limit( 0 );
$mail ="12345678901234567890";
$fp = fopen('/home/account/mail.txt', "a");
set_file_buffer($fp, 0);
flock($fp, 2);
fwrite($fp, $mail);
flock($fp, 3);
fclose($fp);
?>
---------------------------------------------------

この段階では正しく動作しいるのですが、mail_parse.phpを以下の
ようにメールの中身を受け取るように変更すると動作しません。
(出力もされず、ファイルも生成されません。)
---[mail_parse.php]----------------------------------
#!/usr/bin/php -q
<?php
set_time_limit( 0 );
$stdin = fopen("php://stdin", "r");
while(!feof ($stdin)){
 $mail .= fgets($stdin, 4096);
}
fclose ($stdin);
$fp = fopen('/home/account/mail.txt', "a");
set_file_buffer($fp, 0);
flock($fp, 2);
fwrite($fp, $mail);
flock($fp, 3);
fclose($fp);
?>
---------------------------------------------------

CenOS5.4、PHP5.1.6を使っています。
情報をお持ちの方お知恵を拝借できますでしょうか?






PHP-users メーリングリストの案内