GetLastRecvMailSubject, GetLastRecvMailFrom, GetLastRecvMailAccount, GetLastRecvMailFolder, GetLastRecvMailBodyTop関数(TKInfo.dll)(Ver6.01対応版)
 GetLastRecvMailSubject関数は、直前の送受信動作で受信したメールのSubject:ヘッダの内容を返します。秀丸メール本体ウィンドウ上でのみ実行できます。
 直前に受信したメールであっても振り分け動作で「メール受信をお知らせしない」となったメールについては内容が取得出来ません。取得出来るのは、RecvMailCountShow関数の返り値の分のメールについてのみとなります。または、直前の送受信動作がリモートメールの一覧取得であった場合には、RemoteMailHotCount関数の返り値の分だけ取得出来ます。
 GetLastRecvMailFrom関数は、同じく直前に受信したメールのFrom:ヘッダの内容を取得します。
 GetLastRecvMailAccount関数は、同じく直前に受信したメールが最終的に振り分けられた先のアカウント名を返します。
 GetLastRecvMailFolder関数は、同じく直前に受信したメールが最終的に振り分けられた先のフォルダ名を返します。返されるフォルダ名の形式は、振り分けで指定する時と同じ形式となります。例えばアカウント直下のフォルダの場合は「\User\XXXX」のような名前になります。
 GetLastRecvMailBodyTop関数は、同じく直前に受信したメールの本文の先頭200バイト程度を取得します。メール本文の先頭に空白がある場合は、それをスキップしてからの200バイト程度となります。

新機能: GetLastRecvMailBodyTopで取得出来る本文サイズの指定
 GetLastRecvMailBodyTop関数で取得出来るメール本文のサイズは、標準では200バイト程度となっています。これを、最高で4キロバイト程度まで拡張する関数として、GetLastRecvMailBodyTop_SetSize関数があります。この関数の第1パラメータにバイト数を指定すると、それ以降に受信したメールから、指定された分までの本文が取得出来ます。注意点として、このGetLastRecvMailBodyTop_SetSize関数呼び出しはあくまで「受信よりも前」でないとダメな点です。なので、例えば「マクロ・マクロ登録・自動起動」の「送受信の開始直前」か、または「秀丸メール起動時」か、どこか受信を開始する前の段階でマクロを自動起動するようにしておいて、そこでこの関数を呼び出すようにしてください。
 ちなみにGetLastRecvMailBodyTop関数は秀丸メール本体ウィンドウ上でしか呼び出し出来ませんが、GetLastRecvMailBodyTop_SetSize関数はエディタ・ウィンドウ上からも呼び出し出来ます。

パラメータ1(数値型)
 直前に受信したメールの番号を0〜の数値で指定します。例えば直前に受信したメールが10通の場合は0〜9までの数値が指定出来ます。
 ここに指定出来る値は、RecvMailCountShowの返り値またはRemoteMailHotCountの返り値より1少ない値までとなります。


返り値(文字列型)
 各関数毎の情報です。パラメータが間違っていると""が返ります。


    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;

GetLastRecvMailBodyTop_SetSizeの例
    loaddll "tkinfo.dll";
    #n = dllfunc("GetLastRecvMailBodyTop_SetSize", 500 );  //500バイトに拡張。

戻る