振り分け追加マクロ使用、追加が最近うまNo.07399
おざ さん 20/11/23 20:31
 
秀丸メール(バージョン6.22)を愛用しております。

以前に届いたメールを振り分けフィルターに自動で追加するマクロを教えていただき
(たぶん2017年12月ごろ)、ずっと使用していました。
下にそのマクロを添付しました。

最近、一度振り分けたアドレスからのメールがまた届いたときに振り分けられていな
い感じです。

HidemaruMail\data\xxxx@xxxx.jpのフォルダーの中のfileter.txtには、正常に追加
されているようです。

「From: が "editor@jpnsgastro.jp" のメールアドレスを含む」
と記述されています。

しかし、同じ記述がfilter.txt内に何回も見られることから、条件として追加されて
いるのにうまく振り分けられておらず、何回もマクロで振り分けにセットしている感
じです。

なにか対処として調べることが考えられるでしょうか。

使っているマクロは次の通りです。

よろしくお願いします。
-----
//現在選択してるメールのFrom:メールアドレスで振り分け設定を追加する。
//振り分け先は、"^^User\\SPAM"固定とする。「通知無し」もセット。
//
loaddll "tkinfo.dll";
#n = dllfunc("SetJapaneseCodePageMode", 1);
$account = dllfuncstr("CurrentAccount");
$homedir = dllfuncstr("HomeDir");
$from = dllfuncstr("CurrentHeader", "From");
$from = dllfuncstr("SetEmailOnly", $from);
if( $from == "" ) {
    message "メールの差出人(From:)が不明です。";
    endmacro;
}
if( strstr( $from, "\"" ) >= 0 ) {
    message "From:メールアドレスにおかしい文字があります。";
    endmacro;
}
$filter1 = "\t\"From:\" が \"" + $from + "\" のメールアドレスを含む";
$filter2 = "\t→ 通知無し+\"\\\\User\\\\SPAM\"に移動する";

#n = dllfunc("NewMail");
#n = dllfunc("SwitchHeaderView", 0);
gofiletop;
beginsel;
gofileend;
delete;
$filename = $homedir + $account + "\\filter.txt";
$bakfilename = $homedir + $account + "\\filter.bak";
insertfile $filename;
gofiletop;
searchdown $filter1;
// if( result ) {
//     message "振り分け設定の中に、現在のメールに対する振り分け項目が既にあ
ります。何もしないでおきます。";
//     endmacro;
// }
if( !result ) {
gofileend;
insert $from + "\n" + $filter1 + "\n" + $filter2 + "\n";
}

//バックアップ作成(念のため)
#n = dllfunc("Bypass_CopyFile", $filename, $bakfilename, 0);

//保存
saveas $filename, unicode, bom;
if( !result ) {
    message "振り分け設定ファイルの保存に失敗しました。";:
    endmacro;
}
#handle = hidemaruhandle(0);
#n = dllfunc("SetMainWndTop");
closehidemaruforced #handle;
// question "振り分け設定が完了しました。今すぐ振り分けますか?";
// if( result == yes ) {
//    #n = dllfunc("DoFilter", 0, 0, 0 );
// }
#n = dllfunc("DoFilter", 0, 0, 0 );

[ ]