空メールからの標準入力が受け取れません。
よろしくお願いいたします。
CentOS5.2 & PHP5(お名前.COMのVPSディフォルトです。)
お名前.COMのVPSで空メールでのユーザー認識したいと思って
います。説明いただいているサイトを参考に、以下のコードを動かして
います。
空メールを送ってみると、
$sss=file_get_contents("php://stdin");
をコメントアウトしない場合は、
テストで作らせているテキストファイルもでき、返信メールが帰ります。
しかし、上記文を入れるとテストで作らせているテキストファイルも
返信もありません。
アドバイスいただければ助かります。
pearは
Mail_Mime 1.8.0 stable
Mail_mimeDecode 1.5.4 stable
でインストールしてあります。
<?php
//PEARのライブラリ読み込み
require_once("/usr/share/pear/Mail/mimeDecode.php");
//メールソースを標準入力から読み込み
$sss=file_get_contents("php://stdin");
$frm="AAAAAA";
if(!$source) {
exit(); // 読み込み失敗
}
//メール解析
$params['include_bodies'] = true;
$params['decode_bodies'] = true;
$params['decode_headers'] = true;
$decoder = new Mail_mimeDecode($sss);
$structure = $decoder->decode($params);
$from = mb_convert_encoding(mb_decode_mimeheader($structure->headers['from']), mb_internal_encoding(), "auto");
$gdata="ddddddd".$sss.$frm;
$ffp2="ggg.txt";
$fh=fopen($ffp2,"w");
fwrite($fh,$gdata);
fclose($fh);
$from="xxxxx@hhhhh.com";
//メール返信
$to = $from;
$title = "空メールの返信(例)";
$body = "登録が完了しました。\n(実際は何も登録していません。)\n※このメールは配信専用です。\n返信されても対応は出来ませんので、ご了承下さい。";
$from = "From: support@XXXXXXXXX";
mb_internal_encoding("SJIS");
mb_language("japanese");
mb_send_mail($to, $title, $body, $from);
?>