概要
例えば、プロバイダメールや、スマホメールをGoogleメールに集めたい。でも、Gmailでは、POP3による外部メールの取り込み機能はあるけど、IMAPで取り込みが出来ない・・・
そんな時に以下のスクリプトをどこかに仕掛けておけばOKです!
私は使っていませんでしたが、昔imodeのメールを転送するサービス「imoten」というのがあったようですね。今回のツールはメールを転送するものではなくて(結果そうなっているように見えますが)クライアント動作として、source側からIMAPでとってきて、destination側にIMAPで差し込みをしちゃうだけのツールになります。
事前準備
imap接続に際して、以下の準備が必要です。
- Gmailの設定で、IMAPアクセスの項目で、IMAPを有効にするを選択
- googleアカウントの設定で、安全でないデバイスからの接続を許可
- 各種スマホメールをWifiなどのインターネット経由で閲覧可能にする
手順概要
- スクリプトファイルを設置する
- cronの設定をする
手順
- スクリプトファイルを設置する
ココでは、設置するファイル名を mailrelaytool.php と、します。
また、phpは imap, sslをコンパイル時に利用できるようにしており、imap.soをphp.iniもしくは実行時のextensionの設定で利用できる状態である事とします。
以下のプログラムを /home/USERNAME/bin/mailrelaytool.php に設置したとします。
※ここでミソはgmailはPLAINに対応していない事です! - cronの設定をする
※cliのphp.iniにextension=imap.so の記述があれば、「-d extension=imap.so」の部分は不要です。
以上です!
その後、修正版。2重起動防止。いつ発動しても良いように、前回取得時間を記憶するようにした版
エラー処理とか手抜きなので、使う時には直してね!