[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 メーリングリストの案内