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で取りたかったのですが、とりあえず変更した肝の部分だけ抽出します。
「前回転送した時間移行のメールだけ転送できるように」を実現します。何かがダメそうだったらコメントください。
- 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');
- $time = strtotime($overview->date); の次の行はコメントアウト
//if ($time < $start || $time > $end) { continue; }
- コメントアウトした次の行に追加
// 前回転送時の時間後のメール以外はスキップ
if ($prev_time > $time) { continue; }
- imap_close($dst); の次の行に追加
// write date
file_put_contents($SBTIM, $follow_date);
- 完了
補足 †
コメント †
- 初回実行時は全メールを勢い良く転送すると思うので、気をつけてください。sb.tim の書式「2009.08.03 00:39:25」などを作成しておくことでその日付以降のみ転送するようになります。 -- いわだら