epgrecでメール録画予約
地デジ録画サーバー(Linux+PT2+epgrec)をメールで録画予約できるようにする、の続き。*1
導入準備の話はここ。
http://d.hatena.ne.jp/aoshimak/20110209
そんでもって一応導入したはいいが、命令を出してもヘルプ以外真っ白な返信しか帰って来ない、あるメールアドレス以外から送ったメールには返事すら来ない(フィルタされている訳ではない)ので、どうにも上手くいっていないんですが、とりあえず1通1通の受信時に処理したメールをmailboxから消すのは上手くいきました。
DEBUGSW=="on" MAILDEL=="on" //メール受信&リクエスト処理 =============================== $messages = $pop->getListing(); if($messages){ foreach($messages as $k => $row){ $return=null; $request=null; $id = $row["msg_id"]; $status = $pop->getMsg($id); preg_match("/Return-Path:.*<(.+)>.*/",$status,$matches); $return=$matches[1]; preg_match("/Subject:(.+)/",$status,$matches); $request=mb_decode_mimeHeader(trim($matches[1])); if(DEBUGSW=="on"){ echo("--- receivemail ---\n"); echo($return."\n"); echo($request."\n"); echo("-------------------\n"); } //リクエスト処理へ if( $return!=null and $request!=null ){ proc_request($return,$request); } //最後に取得したメールのidを指定して処理済みメールの削除。(追加) if (MAILDEL=="on"){ $status = $pop->deleteMsg($id); } } } //メインループここまで ==================================== $pop->disconnect();