HYBRID W-ZERO3に戻る

lamp-36px.png

更新情報
■2010-02-17
ZIPファイル中の設定ファイルやスクリプトのパスを \Program Files\autorecv以下にまとめました。
設定しやすくなってます。
HDMobiMailにも対応とバグフックスした新しいスクリプトを用意しました。


HYBRID W-ZERO3でOutlook以外のメーラで自動受信する

HYBRID W-ZERO3のメール自動受信は、ActiveSync後に自動受信をしようとしても"Outlookが接続中"のまま接続できない事例が多くあります。しかしこれはOutlook単体の問題で、他のメーラでは問題なく受信することが出来ます。

ここでは、tmail.exeを置き換えることなくOutlook以外のメーラで自動受信を行えるように設定してみます。
この仕組みはアドエスや03でも使えると思います。

自動受信のきも

ウィルコムの端末でメール(pdx.ne.jp, willcom.com等)の自動受信は、

  1. ウィルコムのサーバにメールが届く
  2. ウィルコムのセンタから端末にライトメールが自動着信用ライトメールが着信する
  3. 端末のメーラがウィルコムのセンタにメールを取りに行く

という手順で行われています。


でW-ZERO3では、自動受信用ライトメール着信→Outlookがメールを取りに行くという流れは、lightmail.exeが行っていて、この挙動を変えることは出来ないようです。

しかしなんと!

lightmail.exeは、ライトメールの発信番号とメッセージ内容ごとにソフトを自動起動させる設定を\Temp\PushService.iniに設定を記述することで可能になっています。(W+INFOの自動更新や、Windows Liveメールの自動受信などもこの原理)


この仕組みを逆に利用して、

  • オンラインサインアップで、自動受信用ライトメールを届かないようにする→Outlook起動しない
  • 代わりに「新着メール通知」を届ける→これをトリガにメーラ起動→キタ━(゚∀゚)━!!!!!

という流れを組むことが可能です。

自動受信の流れ

新着メール通知着信→lightmail.exe→WillcomMailLaunch.exe→(willcommail.mscr)→QMAIL3
もしくは
新着メール通知着信→lightmail.exe→WillcomMailLaunch.exe→(willcommail.mscr)→HDMobiMail

という流れになります。

lightmail.exeから起動することが出来るのは単体のexeファイルのみで、引数も与えることが出来ません。これを回避するのがWillcomMailLaunch.exeで、WillcomMailLaunch.iniファイルに書かれた内容の実行可能ファイル(exe, lnk, mscr等)と引数を渡して起動するだけのラウンチャです。

willcommail.mscrは、QMAIL3/HDMobiMailを起動して受信したメールの数を数えてレジストリに書き込むためのスクリプトです。必須ではないので、必要なければWillcomMailLaunch.iniの中に、起動させたいメーラのexeと引数を設定します。

設定方法

  1. まずはOutlook以外のメーラでウィルコムメールを受信するように準備しておいて下さい。コマンドラインで指定したアカウントのメールを取りに行けるメーラが必要です。自動接続・自動切断も行われるQMAIL3かHDMobiMailがおすすめです。
    設定方法はこちらに書いてあります。

  2. autorecv.lzhをダウンロードして展開するとautorecvフォルダができあがりますので、\Program Filesにautorecvフォルダにコピーして下さい。
    ダウンロード>>20100217-autorecv.lzh
    LZHファイルの内容
    PushService.inilightmail.exe トリガ設定ファイル(編集する場合は必ずSJISで)
    WillcomMailLaunch.exePushService.ini から起動するラウンチャ
    WillcomMailLaunch.iniWillcomMailLaunchの設定ファイル
    willcommail.mscrWillcomMailLaunchから起動させるQMAIL3/HDMobiMail用MortScript
    disconnect.exeハイブリ対応ネットワーク切断コマンド(おまけ)

  3. PushService.iniのWillcomMailLaunch.exeのパスを合わせて下さい。
    [PushServiceSetting1]
    PhoneNumber="0706961000"
    Message="0022★W+INFO"
    App="\Windows\FeedKick.exe" ←W+INFOの自動取得
    
    [PushServiceSetting2]
    PhoneNumber="0706961000"
    Message="0022★WindowsLive"
    App="\windows\tmail.exe" ←WindowsLive メールの自動受信設定らしい
    
    [PushServiceSetting3]
    PhoneNumber="0706961000"
    Message="Eメールガトドキマシタ"
    App="\Program Files\autorecv\WillcomMailLaunch.exe" ←必要であればこのパスを変更する
    これはハイブリのPushService.iniで、アドエスや03では[PushServiceSetting2]は記述されてません。
    ハイブリでWindows Live メールオンラインサインアップを行なうと、[PushServiceSetting2]が追加されます。
    このオンラインサインアップで既存のLive IDを設定するのではなく、新しいアカウントを取得すると追加されるので、既存のWindows Liveメールでは自動着信しないようです。

  4. WillcomMailLaunch.iniで起動するスクリプト/メーラを設定する
    WillcomMailLaunch.iniで起動するスクリプトやメーラを設定します。(ちなみにlaunch.exeとファイル名を変更すると、launch.iniファイルを読み込みます)


    設定例(スクリプトの起動だけ-拡張子mscrがMortScript.exeと関連づけられていたらスクリプトの指定だけでOKです。)
    \Program Files\autorecv\willcommail.mscr
    設定例(プログラムと引数)
    \windows\iexplore.exe
    http://www.google.co.jp/
  5. willcommail.mscrを設定する
    willcommail.mscrは、QMAIL3/HDMobiMailを起動して接続&メールの送受信が終わるまで待機し、受信したメール数をメールの未読レジストリに書き込むスクリプトです。直接QMAIL3/HDMobiMailを起動する場合や他のメーラを使用する場合は不要です。
    また未読レジストリに、受信したメール数を書き込みますが、すべてのメールを読み終わっても未読レジストリを0に戻す働きはありませんので、ご注意下さい。
    レジストリに書き込まないようにするには、willcommail.mscrの「レジストリに書き込む」と書かれた行(52行目あたり)を#でコメントアウトして下さい。
    このスクリプト内部の設定を変更することで、QMAIL3とHDMobiMail用を切り替えるようになっています。デフォルトではQMAIL3用が有効になっていますので、適宜#でコメントアウトして使用して下さい。
    # ---------- QMAIL 用設定 ----------
    MailerTitle = "同期中"
    MailerPath = "\Program Files\qmail3\q3u.exe" ←必要であれば変更する
    MailerArg  = "-q -g ウィルコムメール" ←お使いの巡回名に合わせる
    MessageFolder = "\microSDカード\My Documents\qmail\accounts\Willcom\msg\00000000\" ←メール保存パスに合わせる
    MessageExt = "*.msg"
    
    # ---------- HDMobiMail 用設定 ----------
    #MailerTitle = "送受信"
    #MailerPath = "\Program Files\HDMobiMail\HDChkMail.exe"
    #MailerArg  = ""
    #MessageFolder = "\Program Files\HDMobiMail\MAILDIR\INBOX\"
    #MessageExt = "*.msg"
    
    # ---------- 共通設定 ----------
    
    # メーラが起動してメールサーバにアクセス開始するまでの最大待ち時間
    MailerStandby = 25
    
    # 受信メールを書き込むレジストリ
    RegRoot  = "HKCU"
    RegKey   = "System\State\Messages\OtherEmail\Unread"
    RegValue = "Count"
    
    # 処理後にバイブレータを鳴らす時間。単位はms。 ( 0 なら鳴らない )
    VibrationTime = 1000
  6. WillcomMailLaunch.exeの動作確認
    ここまで完了したら、WillcomMailLaunch.exeをタップして起動し、メールを取りに行くかどうかテストを行って下さい。
  7. PushService.iniを\Tempにコピーします。上書きするので元のファイルはバックアップしておいて下さい。
  8. PushService.iniを有効にするためデバイスを再起動します。
  9. オンラインサインアップ→「自動受信/各種通知」→「Eメール自動受信」を「新着メール通知」にして登録する。
  10. 既にサーバにメールが蓄積されている場合は、「新着メール通知」が届きません。まず手動で1回受信動作をして下さい。

これで完了です。
適当なメールを投げてみて下さい。自動的にメーラが起動して自動受信をするようになります。

自動着信の活用方法

PushService.iniをご覧になるとおわかりかと思いますが、ウィルコム以外からのライトメールでも特定のexeを起動することが出来ます。

[PushServiceSetting1]
PhoneNumber="0706961000" ←ライトメール送信元は変更すればどこでもOK
Message="0022★W+INFO" ←ライトメールの本文を合わせればOK
App="\Windows\FeedKick.exe" ←exeであれば何でも起動できます

という事は、980円端末を購入してごにょごにょして、こちらのsendlightmailATコマンドでライトメール送信等を使用すれば、定額自家製PUSHサービスの出来上がりですね♪