リモートメールの新着メールが来た時のポNo.32970
Roka さん 08/01/06 17:50
 
新着メールが来た時のポップアップを表示したく、ToastNotifyを使用して実現しよ
うとしているのですが、うまく動作しないのでアドバイスをお願いします。
秀丸メールを常駐させ、定期受信を「リモートメールの一覧取得」で使用しています。
「受信が一段落したとき」にToastNotifyのマクロを実行するようにしているのです
が、新着メールを受信したときにポップアップが表示されません。
マクロでは「RecvMailCountShow」を使用して0以上であればポップアップを表示する
ようになっていますが、「リモートメールの一覧取得」だけでは0が返ってくるよう
で、何か解決方法はないでしょうか?リモートメール上のメールの数を返してくれる
マクロがあるといいのですが。
また、新着メールのポップアップで差出人の名前を表示したいのですが、リモート
メール上の情報を取得するマクロを追加していただけるとうれしいです。

秀丸メール: Ver. 4.83

[ ]
RE:32970 リモートメールの新着メールが来No.32971
秀まるお2 さん 08/01/06 22:11
 
 定期受信でリモートメール一覧の取得をしていると、秀丸メールのステータス
バーに

   xx通の新着リモートメールを認識しました。

 みたいな表示が出るんですが、その時表示される通数をマクロから得ることは、
現状では出来ません。

 これをマクロから得られるように何か関数を追加することは可能なので、さっ
そく次のβ版(V5.00β16)で追加しようと思います。

 RemoteMailNewCount

 とか、そんな名前の関数にしようと思います。

> また、新着メールのポップアップで差出人の名前を表示したいのですが、リモート
> メール上の情報を取得するマクロを追加していただけるとうれしいです。

 リモートメールの一覧というのも内部的には普通のフォルダのメール一覧と同
じようになっているんですが、普通のフォルダのように表示させる仕組みは用意
されてないです。仮にそれが用意されていたとしても、1つ1つのメールを選択
してCurrentHeader関数を呼び出してSubjectを参照するっていう処理になると、
けっこう大がかりな処理になってしまいまして、定期受信のタイミングで裏で動
くマクロとしてはちょっと使い物にならないです。

 リモートメール用のフォルダをgrep検索してやればSubect:ヘッダの一覧を得
ることは出来ますけど、そういう作戦をするにしても、やはり気軽なマクロで実
現するのは困難です。

 根本的な解決のためには、例えば新着メールのSubject:内容をどこか別の所で
一括して覚えておくようにして、それを一発で取得できるマクロ関数とかがあっ
たらいいのかもしれませんけど。

 ちょっと難しい話になるので今のところは「こうします」とお返事出来ないで
す。

 別の解決策としてですが、そもそも秀丸メールを使うよりは、nPOPを使えばい
いのかもしません。

[ ]
RE:32971 リモートメールの新着メールが来No.32976
Roka さん 08/01/07 10:55
 
> これをマクロから得られるように何か関数を追加することは可能なので、さっ
>そく次のβ版(V5.00β16)で追加しようと思います。

早速の対応ありがとうございます。

>けっこう大がかりな処理になってしまいまして、定期受信のタイミングで裏で動
>くマクロとしてはちょっと使い物にならないです。
>

了解しました。

> 別の解決策としてですが、そもそも秀丸メールを使うよりは、nPOPを使えばい
>いのかもしません。

nPOPも使ってはみたのですが、あまりしっくりきませんでした。秀丸エディターを使
わせていただいていることもあり、いろいろ融通のききそうな秀丸メールを使わせて
いただこうと思っています。

これからもよろしくお願いします。

[ ]
RE:32976 リモートメールの新着メールが来No.32978
秀まるお2 さん 08/01/07 11:14
 
 リモートメールの新着メール数は、RemoteMailHotCountって関数を追加するこ
とにしました。

 それと、リモートメールに限らず新着メールについての情報を取得する用とし
て、

  GetLastRecvMailSubject
  GetLastRecvMailFrom

 って2つの関数を追加しようと思います。パラメータでメールの番号(0〜)
を指定して、直前に受信したメールのSubjectとFromだけ簡単に取得できるよう
にしようかなぁと思います。

    #c = dllfunc("RecvMailCountShow");
    #i = 0;
    while( #i < #c ) {
        $s = $s + dllfuncstr("GetLastRecvMailSubject", #i) + " / "
                + dllfuncstr("GetLastRecvMailFrom", #i) + "\n";
        #i = #i + 1;
    }
    message $s;

 ってな具合のマクロが作成可能ということで。

 ご意見がありましたら今のうちにお願いします。

[ ]
RE:32978 リモートメールの新着メールが来No.32981
Roka さん 08/01/07 11:57
 
おー、秀丸メールにしてよかったです。

現在マルチアカウントで使用しているのですが、どのアカウントに来たかの情報も取
得できるといいと思います。To:の情報でもいいかもしれませんが。

[ ]
RE:32981 リモートメールの新着メールが来No.32990
秀まるお2 さん 08/01/08 10:42
 
 アカウントと振り分け先フォルダも取得出来るようにしました。リモートメー
ルの一覧取得で新着を確認した時の、そのメールについての情報も取得出来るよ
うにしました。次のβ版から追加となります。

サンプルマクロ:
    loaddll "tkinfo.dll";
    #c = dllfunc("RecvMailCountShow") + dllfunc("RemoteMailHotCount");
    #i = 0;
    while( #i < #c ) {
        $s = $s + dllfuncstr("GetLastRecvMailSubject", #i) + " / "
                + dllfuncstr("GetLastRecvMailFrom", #i) + "\n";
        #i = #i + 1;
        if( strlen($s) >= 4000 ) {
            break;
        }
    }
    message $s;
    $s = "";
    #i = 0;
    while( #i < #c ) {
        $s = $s + dllfuncstr("GetLastRecvMailAccount", #i) + " / "
                + dllfuncstr("GetLastRecvMailFolder", #i) + "\n";
        #i = #i + 1;
        if( strlen($s) >= 4000 ) {
            break;
        }
    }
    message $s;

[ ]
RE:32990 リモートメールの新着メールが来No.33012
Roka さん 08/01/10 14:39
 
早速V5.00β16をダウンロードして、思い通りにポップアップを表示できるようにな
りました。

秀まるおさん、素早い対応本当にありがとうございました。

[ ]