携帯端末をはじめとするプッシュメール(っぽいもの)を PCで通常使われる POP3 でも実現しよう!と考えて作成されたものです
様々な条件があるので、簡単に理解してからご利用下さい
つまり、メール到着を知らせるUDPをトリガーとして、POP3受信させてます
- サーバ側のメール受信時に
- PHPスクリプトを動作させ UDPでメールアドレス(MD5したもの)を、メールクライアントのグローバルアドレスへ送出
- Becky プラグインで UDPを受信、メール設定のアドレスとMD5を比較して、
- ターゲットになったメール設定の受信コマンドを動作させ POP3受信
シンプルですね、デファクトスタンダードにならないかしら(ならないだろ)
標準化されるなら、POP3サーバへ最後に接続してきたクライアントIPに、UDPを送るとか...
同じLAN内の複数PCで利用する場合は、利用するUDPポート番号をPC毎に用意して変更するか
ブロードキャストアドレスへフォワードして下さい。ポートは、デフォルトで UDP 44023 です
「Becky! Push Mail Plug-in」+ 「UDP送出 PHPスクリプト」
プラグインの投入
- Becky2 の plugins フォルダへ B2Push.dll を置いて、Becky2 を起動(再起動)
- プラグインを有効にするかの確認 → 有効にする
プラグインについて聞いてこない場合は、メニューから[ツール]->[全般的な設定]->[高度]タブ->プラグイン でチェックを付けて再起動- プラグインが有効に起動すると、ファイヤウォールなどの確認がある場合(UDPで待ち受けるため)は、許可する
プラグインのテスト(必要なければ飛ばしてください)
- プラグインに同封の B2ClientTest.exe を起動します
(B2ClientTest.exe は、サーバへ設置するPHPスクリプトと同様の働きをするテストアプリです)- Becky2 に登録してあるアドレスを入力して「送信」ボタンを押す
- しばらくして(デフォルトで5秒)、POP受信の動作が行われればOK
上手くいかない場合は、プラグインやファイヤウォール、利用ポート(他とバッティングしてないか)を疑ってみる
また、自身のPC、LAN内の別のPC、WAN側等からも試してみたりする
ルータやダイナミックドメインの設定
この項目の設定は、利用環境、利用機器により大きく違うので説明は省略します。
- メールを読む側の環境が、固定IPでない場合、ダイナミックドメイン等を利用しましょう
- ルータ等を利用している場合は、UDPポート(デフォルトで 44023)をLAN側へフォワードしましょう
複数のPCで利用する場合は、192.168.x.255 等でブロードキャストしたり、ポートを変更したり
意味が分からない方は作者に質問しないで下さい
SMTPサーバ側にPHPスクリプトを設置
- サーバの適当な場所に mailpush.php を置く
- .mailfilter 等へ受信時にスクリプトを起動するように記述を追加する
例)
cc "| /usr/local/bin/php 設置場所/mailpush.php hogehoge@fugafuga.com test.dyndns.org 44023" PHPの場所 スクリプトの場所 メールアドレス UDP送信先 UDPポート