あおしまの日記

あおしまさんの日記らしいです。個人的に興味がある事を時々書きます。スマートウォッチPebble日本語パックを作成、公開しています。

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();