|
受信したメールを加工して、それを「そのまま転送」で転送する、という作戦
がいいんじゃないかと思います。
マクロとしては、まず、起動のタイミングとしては、「受信が一段落した時」
になります。
そして、メールを加工するためには、SelctRecvMailまたは
SelectRecvMailInFolder関数を使ってループする形になります。
マクロのやり方として、SelectRecvMailでループさせて、BeinEditMailで編集
許可してreplaceallfast関数などで編集し、SaveEditMailで保存して、次にそれ
を「そのまま転送」
マクロの例:
loaddll "tkinfo.dll";
if( dllfunc("RecvMailCountShow") == 0 ) {
endmacro;
}
#wantsend = 0;
while( dllfunc("SelectRecvMail") ) {
#n = dllfunc("BeginEditMail");
if( readonly ) {
readonlyswitch;
}
if( browsemode ) {
browsemodeswitch;
}
replaceallfast "test", "replaced";
#n = dllfunc("SaveEditMail", 0, 1);
#n = dllfunc("MakeResentForward", "xxxx@xxx.com", "sendlater");
#wantsend = 1;
}
if( #wantsend != 0 ) {
#n = dllfunc("StartSendRemainAll");
}
みたいな感じでいけると思います。
replaceallfastおよびreplaceall分は、メール本文しか置換しません。メール
のSubject:ヘッダを加工するには、
$s = dllfuncstr("CurrentHeader", "Subject:");
のようにしてヘッダを取得して、その$s変数を適当に加工してから
#n = dllfunc("SetHeader", "Subject:", $s);
のようにするのがいいかと思います。あるいは、
gofileend;
beginsel
moveto 0, -9999;
replaceallfast "test", "replaced", inselect;
のように、本文+ヘッダをすべて選択してから「inselect」付きで全置換する
のがいいと思います。
ということでどうでしょ?
各関数については「秀丸メール・マクロヘルプ」の方も参照してほしいです。
あと、関数名をgoogle検索すると、過去にここの会議室に出てきたマクロのサン
プルなんかも出てくると思います。その辺も参考になると思います。
それと…、上記サンプルマクロは、今急いで書いただけのマクロなので、実際
にそのまま動くという保証は無いです。もし間違ってたらすみません。
|
|