別スレッド化についてNo.46886
hirn さん 14/10/17 01:28
 
秀丸メールv6.30, XPproSP3 32bit です。

「全般的な設定>メール一覧>スレッド表示>件名が違う発言は別スレッドとする」
という設定がありますが、
これを振り分け設定で特定のメールだけに適用する方法はありますか?

基本的には自動で別スレッドにしたくないのですが、
Subject が違う週次会議の案内メールが「先週の返信」の形で送られてくるので、こ
れだけを別にしたいです。


メール一覧で以下のようになっていて、「Re: ...」以外を別にするイメージです。
Subject
-------------------------
10/3 会議
 |- Re: ...
 |- 10/10 会議
  |- 10/17 会議

[ ]
RE:46886 別スレッド化についてNo.46887
秀まるお2 さん 14/10/17 11:15
 
 ご要望の件を実現するにはいくつかの方法が考えられるかと思います。

■1.振り分け作成

 1つは、ご提案のあった振り分け設定でってことになりますが、振り分けで実
現するとしたら、振り分けアクションでメールのヘッダを任意に書き換える機能
が必要になるかと思います。

 スレッドを切るためには、References:ヘッダとIn-Reply-To:ヘッダを削除す
ればいいので、例えば振り分けアクションでの「高度の動作の指定...」の中で、
ヘッダに対しての任意の書き換えを指示するアクションをサポートするといいの
かなぁと思います。

 任意ヘッダ書き換えについては以前から要望としてはありつつも、そこまでや
るのはちょっとマニアックすぎるだろうし、使いこなすのも難しい気がする。さ
らにはそういう任意ヘッダ書き換えをどうやって指定させるのか、ダイアログボ
ックス上でエレガントな見せ方をどうするか難しいという問題があります。

 やるとしたら、

 □任意ヘッダ書き換え
         [___________________________________________]


 みたいにチェック1つ+文字列指定ってことにして、そこの文字列で、例えば

   ("ヘッダ名","正規表現検索文字列","置換文字列"),(...)

 みたいな形で正規表現の置換ということで指定するか…。単純なスレッド切断
なら、

   ("In-Reply-To",".+",""),"References:",".+","")

 になるかなぁとは思いますけども。

 実現するのもなかなか大変だし、使う人もかなり難しいことになると思います。
間違って変な風にメールが書き換えられて秀丸メールのバグと疑われたり、
サポートに問い合わせされてその応対が大変になったりする可能性とか考えると、
難しい物があるかと思います。

 ということで没となりそうです。

■2.フォルダ毎設定でスレッド切断

 「件名が違う発言は別スレッドとする」のオプションをフォルダ毎設定の中に
も入れて、フォルダ毎に指示できるようにする作戦があるかと思います。

 しかし、これをやると、設定がややこしくなるし、設定がどうなってるか見直
すのもフォルダ単位でってことになると、ややこしすぎる気がします。

 正直これは、自分で提案しつつ、没としたいです。

■3.スレッド切断ルールを詳細に指定

 「件名が違う発言は別スレッドとする」のオプションにさらにオプションを追
加して、特定アドレス帳グループに所属してる人に限って別スレッドにするとか、
または対象のメールアドレスをコンマ区切り&ワイルドカード可で指定するとか
…。

 消去法でいくと「3」しか無いですが、3の作戦にするとしたら、対象をどう
やって指定するのかの機能をまた考えないといけないです。

 ご意見お願いします。

[ ]
RE:46887 別スレッド化についてNo.46916
hirn さん 14/10/22 22:55
 
>■1.振り分け作成
 「振り分け設定・高度な動作の指定>メモを付ける」が

#n = dllfunc("SetHeaderForMultiSelect", "X-Memo:", "メモメモ");

なら、スレッド切断は

#n = dllfunc( "SetHeaderForMultiSelect", "In-Reply-To", "<$$$Thread-Cut$$$$>
 (Hidemaru supplied)" );
#n = dllfunc( "RefreshMailList");

なので、メモとあまり変わらなそうですが、難しいのでしょうか?


 スレッドは、最後にある "In-Reply-To" が最優先みたいなので、
"SetHeaderForMultiSelect" の add 版があれば
そちらの方が元のヘッダが残って良いかもしれません。
 でも、任意のヘッダ書き換え機能だけだと、
件名が違う発言のみを対象にできませんね・・・。
振り分け対象だけマクロを動作できれば良いのですが。


>■2.フォルダ毎設定でスレッド切断
 これは振り分け設定とほぼ同じなので、とりあえず没で。


>■3.スレッド切断ルールを詳細に指定
 「全般的な設定」の中なので、ここに個別の設定を入れるのは気が引けます。

 初めは、「件名が違う発言は別スレッドとする」で
何とかなると思っていましたが、私の環境ではうまくいきませんでした。
あるメール2通のうち、子メールの Subject が "Re: " しか違わない場合に、
このオプションが OFF の状態でスレッド表示されていたのに、
ON で別スレッドになることがありました。
このオプションは、Subject だけで判断しているわけではないのでしょうか?

[ ]
RE:46916 別スレッド化についてNo.46921
秀まるお2 さん 14/10/23 09:25
 
> なので、メモとあまり変わらなそうですが、難しいのでしょうか?

 ヘッダを単純に削除するだけなら難しくは無いですが、こういう機能を
エレガントに設定ダイアログで見せるのが難しいです。正規表現を使うように考
えたのはその1例ですが、それでもやはり、取っつくにくい機能になるかと思い
ます。

 あと、メモ付けなら、仮に振り分け設定が間違って変なメモが付いたとしても、
それはそれで、ユーザーさんにとって、なぜ変なメモが付いてるのか想像が出来
たり、仮に僕に問い合わせが来ても「振り分けでそうなる可能性があります」と
お返事できますが、ヘッダが無いってことになると、それは元々そういうメール
なのかもしれないし、振り分け設定でそうなることがありえるとなると、その辺
調べるのも大変です。あと、「改変」のマークを付けるかどうかとか、そういう
問題も出てきます。

> このオプションは、Subject だけで判断しているわけではないのでしょうか?

 Subject:ヘッダだけで判断してますが、うまくつながったりつながらなかった
りしてうまくいかないようであれば、もはや、オプション追加でどうにかなるっ
て話でも無さそうです。

 だとしたら、やはり手作業でスレッドを切ってもらうしか無いように思います。


[ ]
RE:46921 別スレッド化についてNo.46953
hirn さん 14/10/28 00:45
 
 思ったより面倒なので、手作業でやることにします。ありがとうございました。


> Subject:ヘッダだけで判断してますが、うまくつながったりつながらなかった
>りしてうまくいかないようであれば、もはや、オプション追加でどうにかなるっ
>て話でも無さそうです。

 簡単な再現方法を見つけたので、以下を試してもらえませんか?
(0)「件名が違う発言は別スレッドとする」のオプション ON
(1) 情報アイテムで Subject: "[ a ] b" として作成("" は引用を示す)
(2) ↑に返信の形で作成し、メール保存(スレッドは繋がっている)
(3) メール一覧の作成し直し
(4) スレッドが切れる

[ ]
RE:46953 別スレッド化についてNo.46958
秀まるお2 さん 14/10/28 15:50
 
 こちらで簡単にテストした限りは大丈夫みたいです。

http://i.imgur.com/vyOSKvL.png

 テスト方法:

 1.新規メール作成
 2.Subject: [ a ] b のようにして、To:に@.itemとして「ファイル -
   情報アイテムとして保存」を実行する。エディタは閉じる。
 3.保存した情報アイテムを選択して「返信メール」コマンド実行。
 4.同じく「情報アイテムとして保存」で保存する。
    --> スレッドがつながる。
 5.「編集・フォルダ毎の処理・メール一覧の作成し直し...」を実行する。

 でスレッドが切れることは無いようでした。

 Subject: "[ a ] b"

 でもテストしたんですが同じでした。(画像参照)

 何か再現方法で違う点があれば教えて欲しいです。再現方法が同じでしたら、
秀丸メールのバージョンの違いとかでしょうか。(こちらでは最新版でテストし
てますけども)

 あと、スレッドを手作業で切るのは、スレッド表示でメールを選択して、
マウスでドラッグして、少し左の方に移動して、そうするとマウスカーソルが
ハサミのような形になるので、そこでマウスボタンを離せばいいです。それだけ
で簡単に切れます。

[ ]
RE:46958 別スレッド化についてNo.46966
hirn さん 14/10/29 01:12
 
 昔の PC に新規インストールしてみましたが、再現します。
手順は、
1. winXPsp3 に v6.30 32bit を簡単インストール
2. アカウントの新規作成
3. 設定>件名が違う発言は別スレッドとする ON
4. スレッド表示にして、新規メール作成、保存
5. ↑に返信メール作成、保存


 メールファイルの中身を以下に貼り付けます。
! w:2 t:2007010100362779 r:1                
Subject:  [ a ] b
From:    
Date: Mon, 01 Jan 2007 00:36:27 +0900
To:       @.item
Message-Id: <1C72CF16FCFA7>



! w:2 t:2007010100372375 s:5031D54F                    
Subject:  Re: [ a ] b
From:    
Date: Mon, 01 Jan 2007 00:37:23 +0900
To:       @.item
In-Reply-To: <1C72CF16FCFA7>
References: <1C72CF16FCFA7>
Message-Id: <3C72CF191296C>

 です。



! w:2 t:2007010100471882 r:1                
Subject:  ab
From:    
Date: Mon, 01 Jan 2007 00:47:18 +0900
To:       @.item
Message-Id: <4C72CF2F3DB23>



! w:2 t:2007010100472304 s:DF4760F6                    
Subject:  Re: ab
From:    
Date: Mon, 01 Jan 2007 00:47:23 +0900
To:       @.item
In-Reply-To: <4C72CF2F3DB23>
References: <4C72CF2F3DB23>
Message-Id: <5C72CF2F65C7C>

 です。



[ ]
RE:46966 別スレッド化についてNo.46967
秀まるお2 さん 14/10/29 09:09
 
 すみません。WindowsXP Mode上(仮想環境上)でテストしたら再現できました。

 自分の普段の環境で再現しなかったのは、「全般的な設定・メール一覧・詳
細・もっと詳細1」の「Subjectから[...]を省略するやり方を正規表現で指定す
る」のオプションがONになっていて、それが関係してたせいのようでした。大変
失礼しました。

 原因を調べてまたお返事させていただきます。

[ ]
RE:46967 別スレッド化についてNo.46973
秀まるお2 さん 14/10/29 10:40
 
 原因ですが…

 メーリングリストからのメールだと、

 [ml:1111] xxxxx

 のようなSubjectに返信すると、

 [ml:1111] Re: xxxxx

 のような形になりまして、それをうまく検出する用の処理をしていました。そ
れが、普通の

 Re: [ml:1111] xxxxx

 のような返信に対して誤動作してしまってました。

 誤動作しないように修正させていただきます。次のV6.31β18にて対応させて
いただきます。

 大変失礼しました。

[ ]