メール一覧の本文の先頭のスキップ行数No.03062
hp さん 18/03/27 11:19
 
フォルダ毎の設定のメール一覧の本文のスキップ行数を固定の数値ではなく、下記条
件を満たさない最初の行から表示というようにできないでしょうか。

「様|さん|君|くん|殿」を含む行
(自社名)を含む行
「お世話になって」を含む行
空行

固定の4行で多くの場合なんとかなっていますが、宛名もないチャットのようなメー
ルや、改行の多い人がいるため、細かく対応できないかと思っています。

重い処理になるかと思いますが、Subjectから[...]を省略するやり方を正規表現で指
定するなんてオプションもあるくらいですし、意外に実用的な速度になるのではない
かと淡い期待を込めて、ご一考いただけたら幸いです。

[ ]
RE:03062 メール一覧の本文の先頭のスキッNo.03063
秀まるお2 さん 18/03/27 15:37
 
 本文のをスキップする行数ですが、フォルダ毎設定の中にある理由としては、例え
ば特定のメールマガジンとかを特定のフォルダに入れた時に、そのメールマガジンの
形式的に本文の先頭に固定の文面がある時に、それをスキップしたいってことで、今
の仕様になったと思います。

 もしも正規表現でスキップ範囲を指定するってことになると、それは特定のメール
に限らず汎用でスキップ指定したいってことなると思うので、フォルダ毎に指定する
のでいいのかなぁというのが1つ疑問としてあります。

 しいて、正規表現で指定するならフォルダ毎設定じゃなくて、全般的な設定の中に
入れた方がいいのかなぁという気がしますけども。

> 重い処理になるかと思います

 重さ的には正規表現の検索パターン次第になりますが、何も指定しなければ重くは
ならないので、別にあってダメなことは無いかとは思います。

 それよりも、そもそも秀丸メールにそういう機能追加をしても、果たしてユーザー
さんが使いこなせるかどうかというか・・・、期待するような結果が得られる正規表
現パターンをうまく書けるかどうか、非常に難しいんじゃないかと思います。

 ちゃんと指定して使いこなせる自信がある(正規表現に大変お詳しくてうまく指定
できる目処がある)のならいいですが、どういう正規表現パターンが適当かまだ考え
が無いようでしたら、まずはその辺を考えてから、果たして本当にこのような高度な
機能が役に立つのかどうか考えていただいた方がいいような気がします。

> 「様|さん|君|くん|殿」を含む行
> (自社名)を含む行
> 「お世話になって」を含む行
> 空行

 「様」とかがあって、その次に会社名があって、その次に「お世話になって」があ
るケースって、本当に特定のパターンだと思うので、ちょっとでも違ったケースがあ
るとダメですけど、大丈夫なのやら?

 そもそも、「空行」とか「〜を含む」とかも正規表現でうまく表現しないといけな
いし、その辺大丈夫なのやら?

 引用行の中にそういうのが含まれてるケースも考えられるし。

[ ]
RE:03063 メール一覧の本文の先頭のスキッNo.03064
hp さん 18/03/27 20:45
 
>本文のをスキップする行数ですが、・・・今の仕様になったと思います。

outlookでも最初の数行が表示されますが、送信者と受信者の名前くらいしか表示さ
れず、役に立っていないのに対して、秀丸メールのこの昨日なら、メール一覧だけで
すべてのメールのだいたいを把握できるのかなと思いました。

> もしも正規表現でスキップ範囲を指定するってことになると、それは特定のメー
>ルに限らず汎用でスキップ指定したいってことなると思うので、フォルダ毎に指定
>するのでいいのかなぁというのが1つ疑問としてあります。

> しいて、正規表現で指定するならフォルダ毎設定じゃなくて、全般的な設定の中
>に入れた方がいいのかなぁという気がしますけども。

自分としてはフォルダ毎にある必要はあまりなく、全般的で良いです。


> それよりも、・・・果たしてユーザーさんが使いこなせるかどうかという
>か・・・、非常に難しいんじゃないかと思います。

すみません、秀丸を愛用していてソースコードなどをごりごり書いている層だけを想
像しておりました。


> そもそも、「空行」とか「〜を含む」とかも正規表現でうまく表現しないといけ
>ないし、その辺大丈夫なのやら?

正規表現は必須ではないかもしれません。

リスト内の指定のワードを含まない最初の行からスタートというようなものにすれば、
他の人にも使ってもらえるでしょうか。

こんな要求は他の人はしないですか・・・

[ ]
RE:03064 メール一覧の本文の先頭のスキッNo.03065
秀まるお2 さん 18/03/28 08:50
 
 やはり、正規表現パターンでやる作戦にしたとしても、複数行にまたがるテキスト
データをうまくカットするような正しい正規表現を作成するのは至難の業だと思いま
す。僕に質問されても自分でもちょっと大変です。

 複数パターンに対応させようとすると、正規表現パターンの長さがどんどん大きく
なっていくと思うし、極端に長くなればどんどん遅くなるし、ユーザーさんの方でメ
ンテナンスするのも難しいです。

 ということで、やっぱり現実的では無いと思います。

 極端に言うと、期待する動作はAIの仕事になってしまうと思います。

 1つ考えてみたんですが、例えば特定の人からメールが届いた時に、その同じ人か
ら以前からもメールが届いてて、それが同じフォルダにあったとしたら、その直前の
メールと本文を比較して、先頭の方で一致してるのをカットするって作戦ならいいか
なぁと思います。

 大抵は、同じ人からのメール本文の先頭は、同じ文面のことが多いので。

 そういう作戦はどうでしょうか。

 例えば今ちょっと見ると、メール本文の先頭は、

パターン1----------------------
斉藤様様、××です。

パターン2----------------------
斉藤様様

パターン4----------------------
サイトー企画
斉藤様

いつもお世話になっております。
××会社の××でございます。
-------------------------------

とか、同じ人からのメールの先頭付近は同じパターンになってることがほとんどでし
た。その同じ文面はスキップできると思います。

 同じ人からのメールが同じフォルダにあることが前提になりますけども。(他のフ
ォルダも含めて探すと遅くなるので)

[ ]
RE:03065 メール一覧の本文の先頭のスキッNo.03066
mysty さん 18/03/28 11:06
 
横入り失礼いたします。Mystyです。

hpさんがおっしゃっているのは、4行セットの条件ではなく、4行のうちの
いずれかの条件に一致した行は表示不要という意味ではないのでしょうか?


> やはり、正規表現パターンでやる作戦にしたとしても、複数行にまたがるテキス
>トデータをうまくカットするような正しい正規表現を作成するのは至難の業だと思
>います。僕に質問されても自分でもちょっと大変です。
> ......
> 同じ人からのメールが同じフォルダにあることが前提になりますけども。(他の
>フォルダも含めて探すと遅くなるので)

[ ]
RE:03065 メール一覧の本文の先頭のスキッNo.03067
hp さん 18/03/28 11:13
 
> 1つ考えてみたんですが、例えば特定の人からメールが届いた時に、その同じ人
>から以前からもメールが届いてて、それが同じフォルダにあったとしたら、その直
>前のメールと本文を比較して、先頭の方で一致してるのをカットするって作戦なら
>いいかなぁと思います。
>
> 大抵は、同じ人からのメール本文の先頭は、同じ文面のことが多いので。
>
> そういう作戦はどうでしょうか。

単一のメールでの判定ではなく、直前のメールも見て判定していただけるのであれば、
そちらの作戦の方が良さそうです。

検索フォルダで基本はfrom別にしているのですが、スレッド的につながるのも入れる
ようにしているのですが、その場合の直前のメールは、同じfromのメールを参照して
もらえるのでしょうか。

[ ]
RE:03066 メール一覧の本文の先頭のスキッNo.03071
秀まるお2 さん 18/03/28 11:30
 
 基本は4行スキップだけど、たまにそれで、余計にカットされることがある(0行
スキップにしたいケースがある)のでなんとかしたいという話かなぁと思いました。

 例えば4行の中で、もしも正規表現で指定したルールにヒットする行があった場合
はそこまでカットし、ヒットしなかったらカットしないってことでも、ルールとして
はありかなぁとは思いますけども。

[ ]
RE:03067 メール一覧の本文の先頭のスキッNo.03072
秀まるお2 さん 18/03/28 11:32
 
 検索フォルダと元々のフォルダとで、本文のカット位置を変えることは出来ないで
す。

 元々のフォルダでどうカットするか判定するだけになります。そこでカットされた
物が検索フォルダでもそのまま表示されるだけです。

 元々のフォルダの方で、同じFrom:のメールが無ければカットされないです。

 そんな仕様ではダメなのやら?

[ ]
RE:03072 メール一覧の本文の先頭のスキッNo.03082
hp さん 18/03/29 08:34
 
> 元々のフォルダの方で、同じFrom:のメールが無ければカットされないです。
>
> そんな仕様ではダメなのやら?

それで問題ありません。

動作が異なりそうなのは、検索フォルダに複数のターゲットがある場合だと思います
が、私は複数のターゲットにしていないです。

[ ]
RE:03071 メール一覧の本文の先頭のスキッNo.03083
hp さん 18/03/29 08:37
 
> 例えば4行の中で、もしも正規表現で指定したルールにヒットする行があった場
>合はそこまでカットし、ヒットしなかったらカットしないってことでも、ルールと
>してはありかなぁとは思いますけども。

それも良いと思います。
前に仰ったとおり、やりたいことがAIチックなので、自分でもベストな方法がなんな
のか模索しています。


[ ]
RE:03082 メール一覧の本文の先頭のスキッNo.03084
秀まるお2 さん 18/03/29 10:16
 
 そういう仕様で一回作ってみますが、いまいちかもしれません。

 とりあえず、1通目はまったくスキップされなくなります。同じ人から何通も、先
頭が同じ文面でメールが届く場合に限って、その同じ文面がカットされるという、そ
ういう分かりやすい仕様にはなります。

[ ]
RE:03084 メール一覧の本文の先頭のスキッNo.03087
秀まるお2 さん 18/03/29 11:52
 
 僕の考えた方式でやってみたんですが、いまいちどころかいま2くらいでした。

 やはりみなさん、メールの先頭に「斉藤様」とか書かれてるんですが、ここは相手
の名前になるがために、固定になってないことが多いみたいです。

 サイトー企画
 斉藤様

 とか、

 斉藤様

 とか、

 社長様

 とか、いろいろメールが届く度に違ってたりすることが多くて、うまく省略されな
いことが多いです。あと、初めてメールを送って来た人からのメールで一切省略され
ないのも都合が悪いです。

 で、改めて考え直してみたんですが、やはり1行目には「様」とか「お世話になり
ます」とか「××会社の××です」みたいな決まった文面があるようなので、それら
を正規表現で指定して、ヒットしたらスキップするって風にした方がいいような気が
しました。

 単純に、例えば

 様|さま|お世話|Dear|こんにちは|こんばんは

 みたいなのを標準設定にしておけば、とりあえず1行目だけはカットされることが
多いかなぁと思います。カスタマイズするとしたら、例えば僕の場合なら

 様|さま|お世話|Dear|こんにちは|こんばんは|斉藤|サイトー

 とかするともっとヒット率が上がります。

 単純に先頭の1〜2行がカットされるだけしか出来ませんけど、やっぱりこの作戦
にしようと思います。

[ ]
RE:03087 メール一覧の本文の先頭のスキッNo.03089
秀まるお2 さん 18/03/29 13:24
 
 なんだかんだでhpさんの最初の提案の通りになってしまいました。回り道してしま
いました。

[ ]
RE:03089 メール一覧の本文の先頭のスキッNo.03090
hp さん 18/03/29 15:53
 
1つのメール内での条件の指定だと、やはりそのようにするのが良いですかね。

それだけだと、限界がありますので、秀まるお2様が仰ったように
同フォルダの同じfromのメールの似たような始まりを削除というのも組み合わせて、
ハイブリッドにいけたらなと思います。


「返信元メールの本文そのままと思わしき箇所も折りたたむ」というのと似たような
仕組みになりそうですね。

[ ]
RE:03090 メール一覧の本文の先頭のスキッNo.03093
秀まるお2 さん 18/03/30 17:24
 
 先ほどオプション追加したβ版をアップロードしました。

 お時間ある時に試してみて欲しいです。

 設定変更する度に(正規表現パターンを書き換える時も)メール一覧の作成しなお
しが動作するので、非常に遅いですけども。


 標準で設定した正規表現パターンよりももっといいのがあったら教えてください。

 ちなみに僕の場合は標準の正規表現パターンに

    ^サイトー企画

 ってのを加えるとだいたい良くなります。

[ ]
RE:03093 メール一覧の本文の先頭のスキッNo.03094
秀まるお2 さん 18/03/30 17:49
 
 追加ですみません。

 「同じ差出人からの過去のメールを使って先頭スキップする」のオプションですが、
かなり重くなります。

 もしもhpさんにとってあんまり有益じゃないというか、無くても困らないようでし
たら、廃止しようと思います。

[ ]
RE:03094 メール一覧の本文の先頭のスキッNo.03098
hp さん 18/04/02 17:49
 
遅くなり済みません。
対応ありがとうございます。
さっそく試して、フィードバックさせていただきます。

[ ]
RE:03098 メール一覧の本文の先頭のスキッNo.03102
hp さん 18/04/03 11:48
 
試行錯誤中ですが

^.{0,15}\(?(株|)\)?(式会社)?.{0,15}(様|御中|です)?

を加えてだいたい良い感じになりました。

残っているのは、相手を1行ずつ分けて書くような人くらいです。

処理が重くなるので、処理する行をこれ以上多くするのは諸刃の剣ですね。

この機能、今後ありがたく使わせていただきます。

ちなみに、取得する文字を多めにして、ここのオプションを弄っていると
よくエラーがでて次回起動時に「行番号7031」とでます。

[ ]
RE:03102 メール一覧の本文の先頭のスキッNo.03104
秀まるお2 さん 18/04/03 13:30
 
> ^.{0,15}\(?(株|)\)?(式会社)?.{0,15}(様|御中|です)?

 たしかにそれはいいような気がします。標準の設定に追加させていただきます。

> 処理が重くなるので、処理する行をこれ以上多くするのは諸刃の剣ですね。

 複数行にまたがってヒットするような方式にする手もあるにはありますけども、正
規表現パターンを考えるのも難しくなるので、とりあえず現在の仕様(1行単位でマ
ッチングさせるだけ)にしようと思います。

> ちなみに、取得する文字を多めにして、ここのオプションを弄っていると
> よくエラーがでて次回起動時に「行番号7031」とでます。

 たぶん何かバグがあるんだと思います。調べてみます。

[ ]
RE:03102 メール一覧の本文の先頭のスキッNo.03105
秀まるお2 さん 18/04/03 13:39
 
> よくエラーがでて次回起動時に「行番号7031」とでます。

 秀丸メールのデータ用フォルダにdump.txtってファイルが生成されてて、そこにエ
ラーの記録が出てると思います。

 FileMan.cppの7031行目ってことでエラーが出てるんだと思いますが、出来ればス
タックトレースだけ欲しいです。


FramePtr ReturnAd Param#1  Param#2  Param#3  Param#4  Param#5  Param#6  Para
m#7  Param#8  Param#9  Param#10 MachineCode

 って行があって、その下にある16進数の羅列だけ教えていただけないでしょうか。
 (メールで送っていただく方がいいです。"maruo@mitene.or.jp"になります。)

[ ]
RE:03105 メール一覧の本文の先頭のスキッNo.03106
hp さん 18/04/03 19:27
 
> って行があって、その下にある16進数の羅列だけ教えていただけないでしょうか。

すみません、64ビットだからか、その文字列が見当たりません。

Stack Dumpの下の8×16個の64ビット16進数ですかね?

[ ]
RE:03106 メール一覧の本文の先頭のスキッNo.03107
秀まるお2 さん 18/04/03 22:40
 
 そういえば64bit版でした。

 64bit版の場合は、

ReturnAd         MachineCode
00007FFE33B27691 48 89 44 24 50 E9 9E 00
00007FFE33B2790D 85 C0 0F 85 00 03 00 00
00007FFE33B72269 48 8B 5C 24 40 48 8B 74
....
....
Stack trace error.
C:\Program Files\HidemaruMail\TuruKame.exe  off=00007FF69FA90000 - 00007FF69
FE78000

 のような「ReturnAd MachineCodeの羅列と、さらに、TuruKame.exeのoff=が分から
ないと場所が特定できなかったりします。

 お願いします。

 一応、今回追加した処理の中で、問題のエラーの箇所は通らないはずのようでして、
原因がちょっと分かりませんでした。

[ ]
RE:03107 メール一覧の本文の先頭のスキッNo.03108
hp さん 18/04/04 12:32
 
この件のログには「Stack trace error.」がないようです。

********** 18/04/04 08:47:22.673 6.80 Beta 4  内部エラー、pTitle=9E7865C off
Start=9E75CF0 offEnd=9E80AB4 prev=9E785D0 next=9E78680
FileMan.cpp(7031) error = 0

...

ReturnAd         MachineCode
00007FFCA9E9A80A 85 C0 0F 88 E0 0B 03 00
00007FF75EBC37E9 48 81 C4 F0 04 00 00 5B
00007FF75EBC568E E8 FD C2 FF FF E8 78 C6

...

C:\......\HidemaruMail\TuruKame.exe  off=00007FF75E960000 - 00007FF75ED48000

エラーの番号は覚えていないのですが、これ以前のβバージョンでも、「取得する文
字を多め...」を切り替えるだけで、エラーが出ていたかもしれません。

ログに個人名などが多いので、整理できたらメールでお送りしたいと思います。

[ ]
RE:03108 メール一覧の本文の先頭のスキッNo.03111
秀まるお2 さん 18/04/04 14:47
 
 すみません。ReturnAdから後ろのアドレスは、3行だけじゃなくて、全部教えて欲
しいです。僕の書き方が3行だけになってしまってましたけど、そこ省略して欲しい
という意味ではありませんでした。

 3行だけだと、エラーログを出す処理の場所と、エラーの発生してる所のアドレス
しか分からなくて、肝心の呼び出し元が何かが分からないです。

> ReturnAd         MachineCode
> 00007FFCA9E9A80A 85 C0 0F 88 E0 0B 03 00
> 00007FF75EBC37E9 48 81 C4 F0 04 00 00 5B
> 00007FF75EBC568E E8 FD C2 FF FF E8 78 C6
>
> ...
>

 この「...」の部分になります。

 すみませんがお願いします。

[ ]
RE:03111 メール一覧の本文の先頭のスキッNo.03113
秀まるお2 さん 18/04/04 15:07
 
 あと1つすみません。

 「同じ差出人からの過去のメールを使って先頭スキップする」は、こちらでテスト
しててもがまんならないくらい遅いので、やっぱり廃止させていただこうと思います
けど、いいですよね。

[ ]
RE:03113 メール一覧の本文の先頭のスキッNo.03115
hp さん 18/04/04 15:36
 
ReturnAd         MachineCode
00007FFCA9E9A80A 85 C0 0F 88 E0 0B 03 00
00007FF75EBC37E9 48 81 C4 F0 04 00 00 5B
00007FF75EBC568E E8 FD C2 FF FF E8 78 C6
00007FF75EBC578E 48 8B 8C 24 30 04 00 00
00007FF75EA026EE 48 8B BC 24 88 01 00 00
00007FF75EA02C6C 48 85 C0 48 8B D8 74 61
00007FF75EA19BA9 48 8B CE E8 0F 86 FE FF
00007FF75EB6C34C 33 D2 48 8B CF E8 CA 3C
00007FF75E9EE237 E8 14 C7 16 00 8B 87 8C
00007FF75E9F48CD 48 8D 0D 3C 10 27 00 E8
00007FF75EA76AED 48 8B 44 24 50 E9 F1 16
00007FF75EA7AF04 48 8B 0D 6D BA 22 00 48
00007FF75EA7EB34 44 8B CD 4D 8B C4 BA 54
00007FFCAA2BB85D 48 89 44 24 48 83 BC 24
00007FFCAA2BB1EF 48 8B D0 48 89 44 24 40
00007FF75EBA9807 81 7C 24 38 00 07 00 00
00007FF75EBAB993 E8 08 B9 FF FF E9 96 01
00007FF75EBD8E71 8B F8 89 44 24 20 85 DB
00007FFCAAAB1FE4 8B C8 FF 15 3C 41 06 00
00007FFCACC2EFC1 EB 20 48 8B CA 49 8B C1

今年度からメールサーバーが変更されたのに合わせて秀丸メールを使い始めたので、
まだメールが200通ほどしかありません。

この状態では重いと感じないのですが、メールが増えてきた場合に問題となる場合は、
他のメール参照の機能は削除していただいて構わないです。

[ ]
RE:03115 メール一覧の本文の先頭のスキッNo.03117
秀まるお2 さん 18/04/04 17:51
 
 おかげさまで再現できました。

 検索フォルダを選択した状態で「全般的な設定」を実行し、列の設定を変更してOK
するとダメみたいで、特に検索フォルダがスレッド表示になってると起きやすいみた
いです。

 修正させていただきます。

> この状態では重いと感じないのですが、メールが増えてきた場合に問題となる場合
>は、他のメール参照の機能は削除していただいて構わないです。

 とりあえず、オプションONにしたら警告を出すようにして、オプションは残してみ
ます。今回のバグとも無関係だったので。

 またβ版としてアップロードさせていただきます。


[ ]