iPhone

i.softbank.jpをGmailに転送

で公開されている sb.php で以下のことが実現できます。

【実現されていたこと】

  • @i.softbank.jp のメールを Gmail に転送できる
  • 自宅サーバを使用し、1日1回 cron でスケジューリング実行

公開されていた sb.php を使用させていただき、自分の環境に適したようにコードを変更して運用することにしました。

【追加で実現したこと】

  • 前回転送した時間移行のメールだけ転送できるように → どの周期で cron スケジューリング実行してもきちんと転送できる(自分の環境だと10分周期)
  • i.softbank.jpのINBOX(受信箱)だけでなく、Sent(送信箱の送信済み)も転送できるように
  • Gmail側はINBOX(受信箱)でなく、ラベル SoftBank に転送できるように

追加で実現したこと コードの断片

diffで取りたかったのですが、とりあえず変更した肝の部分だけ抽出します。
「前回転送した時間移行のメールだけ転送できるように」を実現します。何かがダメそうだったらコメントください。

  1. if (file_exists(MPC)) { require_once(MPC); } の次の行に追加
    // read date
    $SBTIM = 'sb.tim';
    $prev_date = file_get_contents($SBTIM);
    $follow_date = date('Y/m/d H:i:s');
  2. $time = strtotime($overview->date); の次の行はコメントアウト
    //if ($time < $start || $time > $end) { continue; }
  3. コメントアウトした次の行に追加
    // 前回転送時の時間後のメール以外はスキップ
    if ($prev_time > $time) { continue; }
  4. imap_close($dst); の次の行に追加
    // write date
    file_put_contents($SBTIM, $follow_date);
  5. 完了

補足

コメント

  • 初回実行時は全メールを勢い良く転送すると思うので、気をつけてください。sb.tim の書式「2009.08.03 00:39:25」などを作成しておくことでその日付以降のみ転送するようになります。 -- いわだら 2009-08-03 (月) 00:39:54


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-08-03 (月) 00:39:55 (113d)