Becky! Push Mail Plug-in

2009/08/17

携帯端末をはじめとするプッシュメール(っぽいもの)を PCで通常使われる POP3 でも実現しよう!と考えて作成されたものです
様々な条件があるので、簡単に理解してからご利用下さい

作者の子道具箱へ戻る

必要な環境

特徴

動作概要


  1. サーバ側のメール受信時に
  2. PHPスクリプトを動作させ UDPでメールアドレス(MD5したもの)を、メールクライアントのグローバルアドレスへ送出
  3. Becky プラグインで UDPを受信、メール設定のアドレスとMD5を比較して、
  4. ターゲットになったメール設定の受信コマンドを動作させ POP3受信
つまり、メール到着を知らせるUDPをトリガーとして、POP3受信させてます
シンプルですね、デファクトスタンダードにならないかしら(ならないだろ)

標準化されるなら、POP3サーバへ最後に接続してきたクライアントIPに、UDPを送るとか...

同じLAN内の複数PCで利用する場合は、利用するUDPポート番号をPC毎に用意して変更するか
ブロードキャストアドレスへフォワードして下さい。ポートは、デフォルトで UDP 44023 です

ダウンロード

「Becky! Push Mail Plug-in」+ 「UDP送出 PHPスクリプト」

設置方法

プラグインの投入
  1. Becky2 の plugins フォルダへ B2Push.dll を置いて、Becky2 を起動(再起動)
  2. プラグインを有効にするかの確認 → 有効にする
    プラグインについて聞いてこない場合は、メニューから[ツール]->[全般的な設定]->[高度]タブ->プラグイン でチェックを付けて再起動
  3. プラグインが有効に起動すると、ファイヤウォールなどの確認がある場合(UDPで待ち受けるため)は、許可する

プラグインのテスト(必要なければ飛ばしてください)
  1. プラグインに同封の B2ClientTest.exe を起動します
    (B2ClientTest.exe は、サーバへ設置するPHPスクリプトと同様の働きをするテストアプリです)
  2. Becky2 に登録してあるアドレスを入力して「送信」ボタンを押す
  3. しばらくして(デフォルトで5秒)、POP受信の動作が行われればOK
    上手くいかない場合は、プラグインやファイヤウォール、利用ポート(他とバッティングしてないか)を疑ってみる
    また、自身のPC、LAN内の別のPC、WAN側等からも試してみたりする

ルータやダイナミックドメインの設定
  • メールを読む側の環境が、固定IPでない場合、ダイナミックドメイン等を利用しましょう
  • ルータ等を利用している場合は、UDPポート(デフォルトで 44023)をLAN側へフォワードしましょう
    複数のPCで利用する場合は、192.168.x.255 等でブロードキャストしたり、ポートを変更したり
この項目の設定は、利用環境、利用機器により大きく違うので説明は省略します。
意味が分からない方は作者に質問しないで下さい

SMTPサーバ側にPHPスクリプトを設置
  1. サーバの適当な場所に mailpush.php を置く
  2. .mailfilter 等へ受信時にスクリプトを起動するように記述を追加する

    例)
    cc "| /usr/local/bin/php 設置場所/mailpush.php hogehoge@fugafuga.com test.dyndns.org 44023"
    PHPの場所 スクリプトの場所 メールアドレス UDP送信先 UDPポート

注意事項

今後、追加したい機能

連絡先