IMAPのInbox以外の扱いNo.03620
hp さん 18/07/05 17:26
 
office365で会議案内などのメールのためにoutlookと併用しています。
outlookでは「送信済アイテム」というのが送信済フォルダです。

秀丸メールではPOPのように扱うIMAPを使用しています。

フォルダの指定で「送信済アイテム」を指定すると、outlookから送ったメールが、
「送信済アイテム」が秀丸メールの受信フォルダに入ります。
これを振り分けで秀丸メールの送信済に入れたりしています。

ここまでは良いのですが、秀丸メールにも「送信済アイテム」というフォルダができ
てしまいます。
何度消してもゾンビのように復活します。

IMAPで一度接続すると、扱っているフォルダが自動生成されるとはあり、本物のIMAP
では必要なのかもしれませんが、POPのように扱うIMAPで、どのフォルダからのメー
ルも受信フォルダに入る仕様であれば、IMAP上のフォルダを秀丸メールに作成する必
要はないのでは? と思います。

空フォルダがあるのは気持ち悪いので、改善できませんか?

[ ]
RE:03620 IMAPのInbox以外の扱いNo.03624
秀まるお2 さん 18/07/05 22:53
 
 IMAP4の動作モードを「POP3風にメールをダウンロードするだけのモード」でお使
いだとしたら、秀丸メールが勝手にフォルダを生成することは無いはず、になります。

 今こちらでテストした限りは、そのモードだと、フォルダが勝手に生成される動作
は起きないようでした。ソースコードも見直したんですが、フォルダを作る処理は、
「IMAP4的にフォルダやメールを同期させるモード」の時しか動作しないはずになっ
てました。

 同期対象に指定してるフォルダであっても、のはずです。

 果たしてなぜ空フォルダが勝手に生成されるのか・・・。ちょっとよく分かりませ
ん。

 空フォルダが発生するのは、受信を実行したら必ずなのか、それとも「送信済みア
イテム」のフォルダに新着メールがあって、それを受信した時に生成されるのか、そ
れとも何か別の条件なのか・・・。その辺が分かるの解決のヒントになるかもしれな
いですけども。

 テスト用に、同じアカウントのメールを受信する用のアカウントをもう1つ作って、
それでダウンロードしてもやはり空フォルダが勝手に発生するのかどうかも一回テス
トしてみて欲しいです。たしかに「POP3風にメールをダウンロードするだけのモー
ド」の場合で。

[ ]
RE:03624 IMAPのInbox以外の扱いNo.03628
hp さん 18/07/06 10:10
 
たしかに、いつの間にかできていて、はっきりとしてませんでした。
受信したり、送信したり、送信済から受信したりしても生成されないので、新しいア
カウントで試してみようと思います。

[ ]
RE:03628 IMAPのInbox以外の扱いNo.03631
秀まるお2 さん 18/07/06 10:44
 
 何らかの処理が働いた時にフォルダが勝手に生成されてる可能性がありそうです。

 とりあえず、フォルダ生成の処理の中に、たしかに「IMAP同期モードかどうか」の
判定を念のため追加した上で、さらに、dump.txtにフォルダ生成のログも出力するよ
うにしてみます。

   Imap_MakeImapFolder

 って記録が出るようにします。

 次のβ版が出たらそれに入れ替えていただければ直るかもしれないし、もしそれで
直らなければ、ログを取っていただく作戦をお願いしたいです。

[ ]
RE:03631 IMAPのInbox以外の扱いNo.03639
hp さん 18/07/09 14:51
 
> 次のβ版が出たらそれに入れ替えていただければ直るかもしれないし、もしそれ
>で直らなければ、ログを取っていただく作戦をお願いしたいです。

まだ6.84β4なのですが、今朝PCを開くと生成されてました。

PCの起動ではなくて、秀丸メールを起動したまま休止状態してからの復帰です。

試しに、削除してから休止・復帰してみましたが、生成されませんでした。

このままβ4のまま、休止状態で明日を迎えてみようかと思います。

その後β9を試させてください。

[ ]
RE:03639 IMAPのInbox以外の扱いNo.03640
秀まるお2 さん 18/07/09 16:30
 
 dump.txtを取る設定にしていただいた上で、フォルダのタイムスタンプを見て、果
たしてその時刻に何が実行されてたか調べる作戦もあるかなぁと思います。

 ちなみにdump.txtを取る設定は、「全般的な設定・上級者向け・動作の記録」にあ
ります。もしよかったらログ取りお願いします。

[ ]
RE:03640 IMAPのInbox以外の扱いNo.03641
hp さん 18/07/10 13:32
 
β4ですが、今朝はできていませんでした。
このままdumpを取ってみようと思います。

[ ]
RE:03641 IMAPのInbox以外の扱いNo.03642
hp さん 18/07/10 17:17
 
β9です。
ふと気がつくとフォルダができていました。

Imap_MakeImapFolderという文字列は見当たらないのですが、フォルダ生成時刻にあ
ったログは以下の行です。

17:08:12.843 (5617) listcache created ○○○○/5/送信済みアイテム mailcount=0
17:08:12.843 (1856) FilterDlgProc INITDIALOG binsize=3017 textsize=5009

よろしくお願いします。

[ ]
RE:03642 IMAPのInbox以外の扱いNo.03643
秀まるお2 さん 18/07/10 18:03
 
 「listcache created」のログは、フォルダが生成された時のログという訳じゃな
くて、そのフォルダのメール一覧を生成しようとした時の記録になります。フォルダ
が生成されたのはもっと前じゃないかと思います。

 あと、「FilterDlgProc INITDIALOG」のログは、アカウント毎の設定か、またはフ
ォルダ毎設定での「メールの振り分け」ページが選択されたことを意味します。たぶ
んそれより前に、

 Cmd 40023

 って記録があれば、「アカウント毎の設定」を実行してることになります。後ろの
方に、

 40023 ret 1

 ってのもあれば、その時刻にアカウント毎設定を終了(OKまたはキャンセル)して
ることになります。

 「Cmd XXXX」の記録で何のコマンドを実行してたかだいたい分かりそうな気がしま
すけども。

 コマンドコードの意味は、

https://hide.maruo.co.jp/software/bin3/hidemarumail-menu-id.txt

 で調べられます。

 ちなみにですが、振り分け設定で存在しないフォルダを対象とした物があったとし
ても、勝手にフォルダが作成されることは無いはず、のようでした。(POP3のアカウ
ントでテストした限りでは)

[ ]
RE:03643 IMAPのInbox以外の扱いNo.03644
秀まるお2 さん 18/07/10 18:17
 
 もしかして定期受信の最中だとしたら、

18:15:55.612 (10501) FrameWndProc() IDTIMER_AUTODOWN
18:15:55.612 (2203) IsProcessExitable: ShowFrame
18:15:55.612 (21986) StopAutoDownTimer()
18:15:55.612 (13244) CTrans::AutoDown()

 みたいに「AutoDown」みたいな記録があると思います。

 定期受信処理の最後は

18:15:56.643 (12892) FreePatrol
18:15:56.643 (13964) LeaveTrans()
18:15:56.690 (13553) AutoDown exit

 みたいになってます。

 何のコマンド実行中か、あるいは何の処理の最中だったか教えて欲しいというか、
その辺も含めたログを教えていただければ、何か解決のヒントになるかなぁと思いま
す。

[ ]
RE:03644 IMAPのInbox以外の扱いNo.03648
hp さん 18/07/11 11:48
 
フォルダの時刻の17:08:12からCmd 40023までのCmdを抽出してみました。
行が多いのですが、はしょり方あってるでしょうか。

17:01:19.497 (19543) Cmd 40023 IDM_ACCOUNT_PROP
17:01:33.760 (21550) 40023 ret 1
17:01:36.729 (19543) Cmd 40105 IDM_FILTER_ONE
17:01:37.338 (19543) Cmd 40279 IDM_CLEAR_FILTERCUSTOMMENU
17:02:41.059 (19543) Cmd 45005 IDM_TITLECOLOR_4
17:02:41.075 (19543) Cmd 40279 IDM_CLEAR_FILTERCUSTOMMENU
17:02:46.169 (19543) Cmd 40039 IDM_REFRESH_TITLE
17:02:57.397 (19543) Cmd 40026 IDM_FOLDER_PROP
17:03:02.836 (13244) CTrans::AutoDown()
17:03:12.835 (13244) CTrans::AutoDown()
17:03:22.836 (13244) CTrans::AutoDown()
17:03:32.837 (13244) CTrans::AutoDown()
17:03:34.947 (19543) Cmd 40039 IDM_REFRESH_TITLE
17:03:53.027 (19543) Cmd 40039 IDM_REFRESH_TITLE
17:05:32.991 (19543) Cmd 40026 IDM_FOLDER_PROP
17:06:33.316 (13244) CTrans::AutoDown()
17:05:37.523 (19543) Cmd 40026 IDM_FOLDER_PROP
17:06:04.104 (19543) Cmd 40047 IDM_HEADER_SWITCH
17:07:45.293 (19543) Cmd 40026 IDM_FOLDER_PROP
17:08:12.843 (5617) listcache created ○○○○/5/送信済みアイテム mailcount=0
17:08:12.843 (1856) FilterDlgProc INITDIALOG binsize=3017 textsize=5009
17:08:20.125 (21550) 40026 ret 1
17:09:33.713 (13244) CTrans::AutoDown()

[ ]
RE:03648 IMAPのInbox以外の扱いNo.03649
秀まるお2 さん 18/07/11 14:17
 
 お手数かけてすみません。

 時刻的には、フォルダ毎設定の中にある「メールの振り分け」設定ページを選択し
た瞬間にフォルダが生成されてるってことになりそうな気がします。

 ちなみにどこのフォルダを選択して実行したかは、

14:14:43.708 (12390) NotifyFolderChanged アカウント名/5/サブフォルダ名

 みたいなログを上方向にたどっていけば分かると思うのですけども。全然関係ない
フォルダのフォルダ毎設定を開いてるのやら?

 どっちにしても、受信関係の処理で勝手にフォルダが出来た訳では無くて、明らか
に「フォルダ毎の設定」を実行した時に生成されてるはずってことで、その辺気をつ
けて使っていただというか、とりあえずフォルダ毎設定を使わないか、しいて使って
しまった時には勝手にフォルダが生成されてないか見ていただくということでお願い
しつつ、僕の方で、そこに絞って原因調査してみます。

[ ]
RE:03649 IMAPのInbox以外の扱いNo.03650
秀まるお2 さん 18/07/11 14:37
 
 もしかして、フォルダ毎設定を実行してる最中に、裏で定期受信が動いてたってこ
とは無いですよね。

17:07:45.293 (19543) Cmd 40026 IDM_FOLDER_PROP
17:08:12.843 (5617) listcache created ○○○○/5/送信済みアイテム mailcount=0

 この間に何も無いのなら、何も動いてないってことになりますけども。

 フォルダ毎設定の中で勝手にフォルダが生成される(CreateDirectoryを呼び出
す)可能性を今調べてみたんですけど、やっぱり何も無さそうでして・・・、まして
や「送信済みアイテム」って名前はIMAP関係の処理でしか知り得ない名前なので、そ
の名前のフォルダを自動で生成するのは、やっぱり受信時の処理しか無さそうな気が
します。

 CreateDirectory呼び出ししてる所に、もしも作成するフォルダ名が"送信済みアイ
テム"だったら、スタックトレースを出力するって風にする作戦がありますが、それ
でどうでしょうか。それで取れるdump.txtを見れば、間違いなく、どの処理でフォル
ダ生成が実行されてるのかはっきりします。

[ ]
RE:03650 IMAPのInbox以外の扱いNo.03655
hp さん 18/07/12 13:05
 
実は送信済アイテムと同じように会話履歴というのも指定しています。
間にあるのはそれだけです。

17:07:45.293 (19543) Cmd 40026
17:08:12.827 (5617) listcache created ○○○○/5/会話履歴 mailcount=0
17:08:12.843 (5617) listcache created ○○○○/5/送信済みアイテム mailcount=0

>作成するフォルダ名が"送信済みアイテム"だったら、スタックトレースを出力
この作戦でお願いします。

意図的にアカウント設定やフォルダの設定を開いて定期受信を妨害しても、なかなか
できてくれませんので。

[ ]
RE:03655 IMAPのInbox以外の扱いNo.03656
秀まるお2 さん 18/07/12 16:36
 
 ではdump.txtにスタックトレース出力作戦で、次回β版で対応させていただきます。

 スレッド的につながるメールを探す処理も、今やっと動く段階までになったんです
が、2.8秒かかってたのが0.2秒くらいにまで短縮できました。マルチスレッドにした
せいというよりは、いろいろ無駄だった処理がありまして、それらを省いたら速くな
りました。

 というか、今までは単純に、1つ1つのメールについてスレッドを探す処理を単純
に繰り返してたんですが、同じスレッドに属してるメールについては探す必要は無か
ったので、そういうのを対象外にするだけで全然高速化してしまいました。

 次のβ版にてその辺も反映できると思います。少々お待ちください。

[ ]
RE:03656 IMAPのInbox以外の扱いNo.03683
hp さん 18/07/19 14:25
 
ふと気がつくと生成されていました。
離席していて、タイトルバーが変わった瞬間も見ておらず、設定画面とか何も開いて
いなかったと思います。


********** 18/07/19 10:39:07.803 6.84 Beta 11  CreateDirectory 送信済みアイテム

rip=00007FFAAB2E1FF4 rsp=0000000001433128 rbp=000000000000002F
rax=00000000000000EA
rcx=FFFFFFFFFFFFFFFE rdx=0000000001433180  r8=0000000000000005  r9=000000000
0000005
rdi=0000000001434260 rsi=0000000001434610 rbx=FFFFFFFFFFFFFFFE
r10=0000000005790E40 r11=0000000000000000 r12=0000000012BEAF80
r13=0000000012BEAF80 r14=0000000001434D70 r15=0000000000000000
rip: C3 CD 2E C3 0F 1F 84 00 00 00 00 00
Stack Dump
00007FFAA80BAB1A 0000000001434D70 0000000012BEAF80 0000000012BEAF80 00000000
01434260 FFFFFFFFFFFFFFFE 00007FF750AD7779 FFFFFFFFFFFFFFFE
000000000000002F 0000000001434610 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 00001FA00010000B 0000000000000033 00000246002B0000 00000000
00000000 00006AC46DB6E052 0000000000000000 0000000000000000
00007FF750B6DEB0 0000000001434D70 00000000000000EA FFFFFFFFFFFFFFFE 00000000
01433180 FFFFFFFFFFFFFFFE 0000000001433128 000000000000002F
0000000001434610 0000000001434260 0000000000000005 0000000000000005 00000000
05790E40 0000000000000000 0000000012BEAF80 0000000012BEAF80
0000000001434D70 0000000000000000 00007FFAAB2E1FF4 000000000000027F 00000000
00000000 0000000000000000 0000FFFF00001FA0 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0000000000000000
0000000000000000 0000000000000000 0000000000000000 0000000000000000 00000000
00000000 0000000000000000 0000000000000000 0073005C00630030
00007FFA00000003 0000000000000000 0000000001433518 0000000001433470 00007FF7
50B75A88 0000985F00000002 00007FF750AC81DD 0000000000000000
0000000001434D70 0000000000000000 0000000000000002 00007FF750B75A88 00007FF7
50ACA54F 0000000000000002 00007FFAA805390C 00007FF750B32728
00000000014334E0 0000000000000000 000000000000000A 0000000000000013 00007FF7
50ACA717 000000000000000A 00007FF750B30DD0 0000000000000002
0000000000000007 0000000000000013 000000000000000A 00002EE200000027 00000000
00000007 0000000000000323 00000032CCAACCAA 00130004000707E2
ReturnAd         MachineCode
00007FFAA80BAB1A 85 C0 0F 88 C4 04 03 00
00007FF750AD7779 48 81 C4 F0 04 00 00 5B
00007FF750AD77AE E8 CD 35 FF FF E8 C8 34
00007FF750ADE945 80 3D F7 D5 09 00 00 74
00007FF750934D30 85 C0 75 53 85 FF 75 48
00007FF750A9F344 48 85 C0 74 11 48 85 DB
00007FF7509387B4 85 C0 74 18 48 8D 8C 24
00007FF7509407A5 85 C0 74 5F 48 8D 8C 24
00007FF7508D9BC0 81 FE 11 01 00 00 48 8B
00007FFAA8E476F1 48 89 44 24 50 48 8D 44
00007FFAA8E4790D 85 C0 0F 85 00 03 00 00
00007FFAA8E92269 48 8B 5C 24 40 48 8B 74
00007FFAA8E4B85D 48 89 44 24 48 83 BC 24
00007FFAA8E4B54C 48 89 44 24 40 65 48 8B
00007FFAA8E619C3 45 33 C0 48 8D 4C 24 30
00007FFAAB2E3F94 33 C9 33 D2 44 8B C0 E8
00007FFAA8381164 C3 CD 2E C3 0F 1F 84 00
00007FFAA8E4ACE8 48 8B 9C 24 A8 00 00 00
00007FFAA8E5C311 48 8B CF 48 8B F0 E8 48
00007FFAA8E59587 48 8B 5C 24 50 48 8B 6C
00007FFAA8E89BEB 48 83 C4 38 C3 CC CC CC
00007FF750ADD78F 48 8B CF 48 8B D8 E8 36
00007FF7508CD983 EB 16 0F B7 4C 1F 10 4C
00007FF7508CE041 48 89 3D 00 0C 2C 00 48
00007FF7508F764F 33 C0 E9 96 04 00 00 83
00007FFAA8E47691 48 89 44 24 50 E9 9E 00
00007FFAA8E4790D 85 C0 0F 85 00 03 00 00
00007FFAA8E92269 48 8B 5C 24 40 48 8B 74
00007FFAA8E4B85D 48 89 44 24 48 83 BC 24
00007FFAA8E4B54C 48 89 44 24 40 65 48 8B
00007FFAA8E619C3 45 33 C0 48 8D 4C 24 30
00007FFAAB2E3F94 33 C9 33 D2 44 8B C0 E8
00007FFAA8381164 C3 CD 2E C3 0F 1F 84 00
00007FFAA8E4ACE8 48 8B 9C 24 A8 00 00 00
00007FFAA8E4AB88 48 8B 5C 24 60 48 8B 6C
00007FFA9DAEB464 83 7D 9F 00 4C 8B F8 0F
00007FFA9DA92ED4 48 8B 4D 1F 48 33 CC E8
00007FFA9DA92D63 F7 43 10 00 04 00 00 0F
00007FFA9DB63CBC 45 85 ED 74 6A BB 00 04
00007FFA9DAA4E39 E9 13 0E 00 00 4D 8B C5
00007FFAA8E4B85D 48 89 44 24 48 83 BC 24
00007FFAA8E4B1EF 48 8B D0 48 89 44 24 40
00007FFAA8E463BF 8B C6 48 8B 5C 24 60 48
00007FF7508F84EA 85 C0 75 3D 48 8D 4C 24
00007FF750904DCE 8B C8 85 C9 0F 84 7B 04
00007FF75098763B 48 8B 44 24 50 E9 03 2A
00007FF75098CD84 48 8B 0D 5D F1 22 00 48
00007FF750990A04 44 8B CD 4D 8B C4 BA 4B
00007FFAA8E4B85D 48 89 44 24 48 83 BC 24
00007FFAA8E4B1EF 48 8B D0 48 89 44 24 40
00007FF750ABD037 81 7C 24 38 00 07 00 00
00007FF750ABF1C3 E8 08 B9 FF FF E9 96 01
00007FF750AECE51 8B F8 89 44 24 20 85 DB
00007FFAA8A11FE4 8B C8 FF 15 3C 41 06 00
00007FFAAB2AF061 EB 20 48 8B CA 49 8B C1
10:39:02.877 S 13875 000C0E8A 004E 000003E8 014376A0
10:39:02.877 R 13930 000C0E8A 004E 000003E8 014376A0
10:39:02.877 S 12663 00350D66 07E8 00000000 00000000
10:39:02.893 S 12663 00350D66 000F 00000000 00000000
10:39:02.893 R 12731 00350D66 000F 00000000 00000000
10:39:02.893 S 12663 00350D66 0085 00000001 00000000
10:39:02.893 R 12731 00350D66 0085 00000001 00000000
10:39:02.893 R 12738 00350D66 0085 00000001 00000000
10:39:02.893 S 12663 00350D66 0014 1A0131E0 00000000
10:39:02.893 R 12731 00350D66 0014 1A0131E0 00000000
10:39:02.893 R 12738 00350D66 0014 1A0131E0 00000000
10:39:02.893 R 12738 00350D66 000F 00000000 00000000
10:39:02.909 S 14574 000A0DB4 0113 00000003 00000000
10:39:02.909 R 14698 000A0DB4 0113 00000003 00000000
10:39:07.741 S 13875 000C0E8A 004E 000003E8 01433110
10:39:07.741 R 13930 000C0E8A 004E 000003E8 01433110
10:39:07.741 S 13875 000C0E8A 004E 000003E8 01433110
10:39:07.741 R 13930 000C0E8A 004E 000003E8 01433110
10:39:07.741 S 13875 000C0E8A 004E 000003E8 01433110
10:39:07.741 R 13930 000C0E8A 004E 000003E8 01433110
start=07218D40 end=0721BE68

[ ]
RE:03683 IMAPのInbox以外の扱いNo.03688
秀まるお2 さん 18/07/19 16:14
 
 調べてみようと思ったのですが、スタックトレースを出力しつつ、turukame.exeの
アドレス範囲がどこか分かるようにする用の、モジュール一覧の出力をし忘れてしま
ってました。

 以前はturukame.exeのアドレス範囲は固定だったんですが、最近のバージョンでは
ロード時にランダムに変化してしまいます。

 ちょっと困りました。

 MachineCodeから推測してなんとか調べてみます。

[ ]
RE:03688 IMAPのInbox以外の扱いNo.03693
秀まるお2 さん 18/07/19 22:17
 
 おかげさまで原因が分かりました。

 振り分け設定の中に、例えば

    "X-TuruKame-IMAP-Folder:" が "test3" である
        → "\\User\\test3"に移動する

 のようなのがあると、任意のフォルダのフォルダ毎設定の「メールの振り分け」
ページを呼び出したタイミングで、上記例ならtest3フォルダが勝手に生成されてし
まってました。フォルダが存在してるかどうかテストするだけのつもりが、なぜかフ
ォルダ生成までやってしまってました。大変失礼しました。

 明日また修正版をアップロードさせていただきます。

 ログ取り機能はもう不要なので(バグが直るはずなので)削除します。

[ ]
RE:03693 IMAPのInbox以外の扱いNo.03697
hp さん 18/07/20 08:48
 
原因特定できて良かったです。

>    "X-TuruKame-IMAP-Folder:" が "送信済アイテム" (のbase64) である
>        → 送信済化+合成

という振り分けを作っていました。

この時点ではフォルダ移動はしてません。

後の条件で、Fromが自分のアドレスだったら送信済みフォルダに移動しています。

トリガーは

>    "X-TuruKame-IMAP-Folder:" が "送信済アイテム" (のbase64) である

という条件の方だったのですかね?

[ ]
RE:03697 IMAPのInbox以外の扱いNo.03701
秀まるお2 さん 18/07/20 10:38
 
> トリガーは
>
>>    "X-TuruKame-IMAP-Folder:" が "送信済アイテム" (のbase64) である
>
> という条件の方だったのですかね?

 これがあるとダメってことのようです。たぶん、この振り分け設定があっても実際
のフォルダが無いので、振り分けは失敗するんだろうと思います。なので振り分け設
定自体も削除してもらった方がいいかなぁとは思います。

 どっちにしてもバグ修正して今アップロードしました。

32bit版:
http://hide.maruo.co.jp/software/bin3/hmmail684b12_signed.exe

64bit版:
http://hide.maruo.co.jp/software/bin3/hmmail684b12_x64_signed.exe

 これで大丈夫ということで、よろしくお願いします。

[ ]