spfetch
spfetch とは
POP3サーバからメール受信を行い、メッセージをIMAP4ホストへアップロードする PHPスクリプトです
SPモードメールがPOP3受信可能になったので作ってみました. PHP環境やPEARライブラリが必要です
SMS受信をトリガーに動作させたりします
動作例) spモードのPOP3サーバから、GmailのIMAP4サーバとかです
メール受信(サーバ側) ↓
端末でSMS受信 ↓
各種アプリによるステータスバー表示 ↓
Tasker のステータスバーイベント ↓
Tasker の HTTP Post アクション ↓
spモードPOP3 → Gmail ←ここ
|
免責と配布
このスクリプトを利用して起きたいかなる損害も作者は負いません. 改変や配布は自由です.
設置方法や使い方等のご質問には、原因が広範囲に及ぶ恐れがありますので、回答できません. 意味のわからない方は使わないで下さい.
動作環境
- PHP実行環境
- PEARライブラリ(Net_POP3, Net_IMAP, Net_IMAPProtocol)
- Gmail側で IMAPを使用できる設定(2段階認証を行っている場合は、固有パスワードを発行しておく)
注意事項
- spモード POP3 がいつまで使えるかわかりません
- GmailにIMAP4で追加されたメールは、連絡先が反映されません
- IMAP4のアップロード先ボックス(ラベル)に ASCII以外を使う場合は、IMAPProtocol.php の修正が必要
- IMAP4接続に時間がかかるので、接続後にPOP3へ接続しています.
cron等で定期巡回させる場合は、
POP3のメール有無をチェックしてからIMAP4接続するように、書き換えて下さい ←変更しました(ver.2013.10.24)
更新履歴
- ver.2013.10.24 POP3にメールがあるのを確認してから、IMAP4接続するよう変更
ダウンロード
spfetch.zip
構築方法抜粋
PEARのインストール
- go-pear.phpをダウンロードして、サーバ上に配置
- インストール(インストールしたパスは .htaccess 等でセキュリティをかけておく)
- インストールしたパスを、HTTPで開く
- 「Search package by name」から POP3 を検索して Net_POP3 をインストール
- 「Search package by name」から IMAP を検索して Net_IMAP をインストール
- php.ini にインストールした PEAR のパスを追加
さくらの場合、コントロールパネル-PHP設定の編集 からこんな感じ
include_path=".:/home/USER_NAME/www/INSTALL_DIR/PEAR"
うまく動かない場合は、spfetch.php の include パスをフルパスで書いてみたりする
- ラベルにASCII以外(全角文字など)を使う場合、PEAR/Net/IMAPProtocol.php 150行目あたり
var $_useUTF_7 = true; を false へ変更
spfetch.php の設置
- ダウンロード
- 適当な場所に解答・設置(認証くらいはかけておいたほうがよいかも)
- 同封の index.php を開いて、必要項目を入力POSTして、動作確認
アカウント情報は spfetch.php へ直接記述する方法と、POSTする方法があります.
POSTを利用することで、サーバにアカウント情報を置く必要がなく、複数アカウントでも利用可
SSLを利用して POST を行えば経路上をクリアテキストが通過するのも防ぐことができます.
|
Android Tasker の Action 設定
Server
hostname.com とか
user:pass@hostname.com ←認証かけているとき
https://user:pass@hostname.com ←SSLで認証かけているとき
Path
パス/spfetch.php
Data
sp_user=pop3アカウント
sp_pass=pop3パスワード
gm_user=imapアカウント@gmail.com
gm_pass=imapパスワード
gm_label=INBOX
spモードメール/コミュニケーズ
標準アプリが、受信通知のSMS後に POP3サーバからメッセージを削除してしまうので、ダウンロードしない設定等の設定が必要です.