|
> if( dllfunc("TransmitError") || dllfunc( "SentMailCount" ) == 0 ) {
裏で定期受信が動いていると、タイミングによってはこの判定がうまくいかな
いってことはあるかもしれません。(といいつ、ヘルプにはこのやり方で判定し
ろと書いてあるので申し訳無い所ですけども…)
とりあえず、SendNowが失敗した場合は必ず返り値が0になるはずなので、ここ
の判定を、
#n = dllfunc( "SendNow" );
if( #n == 0 ) {
if( #time ) #n = dllfunc( "SetAutoPushTimerMilli", #time);
message "送信されませんでした。";
$s = dllfuncstr( "SetHeader", "X-RootFolder", $rootfolder );
endmacro;
}
のようにしてしまってはどうでしょうか。
それと、closehidemaruforcedを使うのもこの場合は危ないので、単純に、
> #n = dllfunc( "SetMainWndTop" );
> closehidemaruforced #handle;
の所を
exit;
にしてしまえばいいんじゃないかと思います。もしも送信に失敗した場合は
「(更新)」が取れてないがために、exit文であれば、そういうケースで「この
メールは保存されていません」の問い合わせメッセージが出てくれるはずです。
それか、closehidemaruforcedじゃなくてclosehidemaru文にするだけでもいい
と思います。
そういう作戦でどうでしょ?
総合すると、
#n = dllfunc( "SendNow" );
if( #n == 0 ) {
if( #time ) #n = dllfunc( "SetAutoPushTimerMilli", #time);
message "送信されませんでした。";
$s = dllfuncstr( "SetHeader", "X-RootFolder", $rootfolder );
endmacro;
}
exit;
にするって作戦になります。
|
|