|
> @メール受信時にメール本文をUTF-8テキストファイルで保存。
> Aファイル名はメールのヘッダ送信日時・件名やmessageidなどを
> 利用する。
とりあえずマクロ的にはこんな感じになると思います。
loaddll "tkinfo.dll";
if( dllfunc("RecvMailCountShow") == 0 ) {
endmacro;
}
#headerview = dllfunc("HeaderView");
if( #headerview != 0 ) {
#n = dllfunc("SwitchHeaderView", 0);
}
while( dllfunc("SelectRecvMail") ) {
$messageid = dllfuncstr("CurrentHeader", "Message-Id");
if( $messageid == "" ) {
$messageid = "(nomessageid)"
+ dllfuncstr("CurrentHeader", "Date");
}
if( strlen($messageid) > 100 ) {
$messageid = leftstr( $messageid, 100 );
}
#i = 0;
while( #i < strlen($messageid) ) {
#code = ascii( midstr( $messageid, #i, 1 ) );
if( #code == '\\'
|| #code == ':' || #code == '/'
|| #code == '\"' || #code == ',' || #code == '<'
|| #code == '>' || #code == '|' || #code == ';'
|| #code == '?' || #code == '*'
|| #code < ' ' || #code >= 0x7F ) {
//削除
$messageid = leftstr($messageid,#i) +
midstr($messageid,#i+1,999);
} else {
#i = #i + 1;
}
}
$path = "C:\\temp\\" + $messageid;
$path0 = $path;
$path = $path + ".txt";
#i = 2;
while( existfile( $path ) ) {
$path = $path0 + "(" + str(#i) + ").txt";
#i = #i + 1;
if( #i > 1000 ) {
break;
}
}
saveas $path, utf8;
}
endmacro;
|
|