|
受信したメール1つ1つについて添付ファイルの保存を実行するなら、例えば以下
のマクロになります。
------------------------------------------------------------------------
$dest = "c:\test";
loaddll "tkinfo.dll";
while( dllfunc( "SelectRecvMail" ) ) {
$attach = dllfuncstr("CurrentHeader", "X-Attach");
if( $attach != "" ) {
$src = dllfuncstr("HomeDir") + dllfuncstr("CurrentAccount")
+ "\\" + $attach;
// フォルダ名のみに変換する。
#xFolder = -1;
#xFile = -1;
while(1) {
#x = strstr( midstr( $src, #xFile + 1, 256 ), "\\" );
if( #x < 0 ) {
break;
}
#x = #x + #xFile + 1;
#xFolder = #xFile;
#xFile = #x;
}
$src = leftstr( $src, #xFile );
$command = "xcopy.exe \"" + $src + "\" \""
+ $dest + "\\" + midstr( $src, #xFolder + 1, 256 )
+ "\" /S /I";
runsync2 $command;
}
}
------------------------------------------------------------------------
$dest = 部分に適当なフォルダ名を入れればいいはずです。
受信後に、受信したメール1つ1つを全部なめ回すような処理となってしまうので
あまり見た目はよくないです。特定のフォルダに振り分けられたメールに限って処理
させる(SelectRecvMailInFolder関数を使う)方がいいかもしれないです。その辺は
適当にカスタマイズして使って欲しいです。
例えば、
#n = dllfunc("SelectFolder", "テスト", "受信\\テストフォルダ");
while( dllfunc("SelectRecvMailInFolder" ) {
...
}
と直すなどです。
|
|