自動削除がおかしいNo.37907
tnobu2 さん 10/02/22 23:07
 
自動削除で期間を1ヶ月に設定してあるフォルダ全てで、本日自動削除が実行された
結果、昨日2/21より以前の日付のメールが全て削除されてしまいました。

最初は表示の範囲が変わってしまって見えなくなってしまったのかと思いましたが、
ちゃんと「全体」となっています。

バージョンはVer5.33です。
ご確認ください。

[ ]
RE:37907 自動削除がおかしいNo.37908
tnobu2 さん 10/02/22 23:09
 
>自動削除で期間を1ヶ月に設定してあるフォルダ全てで、本日自動削除が実行された
>結果、昨日2/21より以前の日付のメールが全て削除されてしまいました。

訂正です。

2/20のメールも残っているフォルダがありました。
でも、それ以前の分は全ては消えてしまっているようです。

[ ]
RE:37908 自動削除がおかしいNo.37913
秀まるお2 さん 10/02/23 09:02
 
 今ちょっと、手元のバージョンで、いくつかのフォルダの自動削除を、「一ヶ
月」って期間で設定して、「今すぐ削除」ボタンを押した限りは、少なくとも最
近のメールが削除対象になることはありませんでした。

 対象期間かどうかの計算は、まず日付を64bitの整数に変換する処理をWindows
にやらせてから、その値で比較してるだけなので、例えばうるう年の計算みたい
な難しい処理を秀丸メール側でやってる訳ではなくて、特定の日付の時だけ計算
が狂うとかってことは無いはずだと思います。

 ではなぜ対象期間が狂ったのかというと…。可能性としてはパソコンの時刻が
狂って未来になってたりすると、メールがみんな削除されるかなぁと思ったりし
ますけど、他はちょっと思い当たる原因が無いです。

 一応、ソースコード見直してみます。

[ ]
RE:37913 自動削除がおかしいNo.37915
秀まるお2 さん 10/02/23 09:31
 
 ということでソースコード見直しましたけども、日付を比較する処理というの
は単純でして、バグの入り込む余地は無いような気がします。

    DWORDLONG   ftLimit;
    GetSystemTimeAsFileTime( (FILETIME*)&ftLimit );

 として現在日付/時刻を64bit整数に取り込んで、それに対して

    int nDay = pFolderProp->data.autodel_nMonth;
    nDay = nDay * 365 / 12;
    ftLimit -= (DWORDLONG)nDay * 24 * 60 * 60 * 10000000;

 みたいにして何ヶ月分かの時間をずらしてるだけです。

 あとは、メール毎に記憶している日付/時刻と比べるだけなので…。

 ということで、すべての自動対象フォルダでまったく同じように、最近のメー
ルがごっそり削除されたということから考えると、やはりパソコンの時計が狂っ
て未来になった(少なくとも自動削除の瞬間は未来になっていた)ということで
は無いかと思います。

 それ以外にはちょっと思い当たる原因が無いです。

[ ]
RE:37907 自動削除がおかしいNo.37917
カンポ さん 10/02/23 10:10
 
こんにちは。カンポと言います。

>自動削除で期間を1ヶ月に設定してあるフォルダ全てで、本日自動
>削除が実行された結果、昨日2/21より以前の日付のメールが全て
>削除されてしまいました。

もしかしてですが、タイムスタンプだけを見てそのように判断されたと
いうことはないでしょうか?つまり、ファイルの内容は以前のログで、
何かの処理のためにタイムスタンプだけが最近になったとか。

つい先日、日数単位で指定できるようになり、私は3日に指定してあった
のに、たまたまチェックしたら昨日のタイムスタンプのファイルしかな
くて焦ったのですが、中身を見たらちゃんと最低3日間分は残っていたと
いうことがありました。

[ ]
RE:37917 自動削除がおかしいNo.37918
秀まるお2 さん 10/02/23 10:18
 
 今回の話はフォルダ毎設定での自動削除の話でして、受信ログの自動削除とは
まったく別になります。

 受信ログの削除期間で日数指定出来るようにしたのは、フォルダ毎の設定での
自動削除にはまったく影響してないはずです。

 それと、受信ログの自動削除については、ファイルのタイムスタンプだけ見て
判断しています。なので、正確にメール単位で削除される訳ではないです。

 フォルダ毎の設定での自動削除の方は、メールの送受信日付/時刻を見て1通
毎に判断しています。

[ ]
RE:37915 自動削除がおかしいNo.37920
tnobu2 さん 10/02/23 11:56
 
> ということで、すべての自動対象フォルダでまったく同じように、最近のメー
>ルがごっそり削除されたということから考えると、やはりパソコンの時計が狂っ
>て未来になった(少なくとも自動削除の瞬間は未来になっていた)ということで
>は無いかと思います。
>
> それ以外にはちょっと思い当たる原因が無いです。

今、心当たりがあるとすると、自動削除との時間の前後関係は憶えていないのですが、
たまたま「日付と時刻のプロパティ」を見ていて、設定されていたntpサーバーとの
同期がうまくいっていないことに気付いたので、別のサーバーに切り換えて手動で同
期させてました。
ただ、同期前も特に日付や時刻が大きく狂ってはいなかったと認識しています。

今は問題が起こったPCが手元に無いので、後で他のファイルなどで日付が飛んでいた
りしていないか確認してみます。

[ ]
RE:37920 自動削除がおかしいNo.37928
tnobu2 さん 10/02/23 21:14
 
>今は問題が起こったPCが手元に無いので、後で他のファイルなどで日付が飛んでい
>たりしていないか確認してみます。

先ほど確認したところ、PCの日付が1ヶ月進んでしまってました。
「日付と時刻のプロパティ」を触ったときに何かの拍子に月が動いてしまったのかも
しれません。
大変お騒がせしました。

[ ]
RE:37928 自動削除がおかしいNo.37929
秀まるお2 さん 10/02/23 22:30
 
 パソコンの時刻が狂って過去になってしまったというのは検出出来る可能性が
ありますけども、未来になってしまったというのは検出出来ないかなぁと思いま
す。

 ということで、こういう場合にメールがごっそり削除されてしまうのは仕方が
ないかなぁと思います。

 自動削除の設定での通数指定と「AND条件」の組み合わせにすれば多少安全に
はなるかなぁと思います。

 それか、秀丸メール側の機能として時刻同期の機能も作って、例えば自動削除
の時には同期チェックしてみる、というのもいいかもしれません。

 (ネタとして)


[ ]
RE:37918 自動削除がおかしいNo.37934
カンポ さん 10/02/24 08:52
 
> 今回の話はフォルダ毎設定での自動削除の話でして、受信ログの自動削除とは
>まったく別になります。

ああ、やってしまいました。。。

ここのところ、速攻でいろいろ対応していただき感激していたので、
何かお手伝いでもできればと思ったのですが、的外れなコメントを
してしまったばかりか、本来なら書く必要のなかったコメントを
書く手間までかけさせてしまい、逆効果になってしまいました。
申し訳ありませんでした。

このコメントにはコメント不要です。

[ ]