― MozillaZine.jp フォーラムは Mozilla 製品に関する情報交換の場です ―



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 7 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2015年11月07日(土) 18:39 
オフライン

登録日時: 2015年11月07日(土) 18:27
記事: 6
Win7で Thunderbird (38.3.0)をつかってメールを管理していますが、話題が変わったのに、返信でメールを返してくる方がいらっしゃいます。
そのため、そのメールに対する返信や元の話題のメールの返信が一つのスレッドに乱立する状態です。

これを、話題が変わったメールをAとして、Aをルートとする新スレッドとして、AとAの返信メールなどを分離したいと思っていますが、やり方がわかりません。

調べたところ、メールのヘッダの意味からして、
 In-Reply-To
 References  
の項目を修正すればよさそうなことまではわかりましたが、これらを簡単に修正できる方法がわかりません。
希望としては、
 メールAとそれにに続くメールを選択して、
 「新規スレッド」ボタンを押す
と、新スレッドに分離してくれるといった簡単操作のアプリがあればうれしいです。

_________________
Mozilla/5.0 (Windows NT 6.1; rv:41.0) Gecko/20100101 Firefox/41.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月07日(土) 19:09 
オフライン

登録日時: 2013年12月26日(木) 09:33
記事: 686
お住まい: 太陽系、地球、日本、ふてニャン県
usa3usa さんが書きました:
Win7で Thunderbird (38.3.0)をつかってメールを管理していますが、話題が変わったのに、返信でメールを返してくる方がいらっしゃいます。
そのため、そのメールに対する返信や元の話題のメールの返信が一つのスレッドに乱立する状態です。

これ、私も良くやるんですよね。
返信の時に、送信済みフォルダーではなく元のメールと同じフォルダーに保存する設定があって便利で、
返信なら、To:には九分九厘その人のメールアドレスが入ってくれるので、
新規メールも転送メールも、返信で作ったメールに、本文や転送のメールデータをペーストして送る。
自分ではスレッド表示しないから、Referencesがどうなろうと、知ったこっちゃない(^^)

usa3usa さんが書きました:
調べたところ、メールのヘッダの意味からして、
 In-Reply-To
 References  
の項目を修正すればよさそうなことまではわかりましたが、これらを簡単に修正できる方法がわかりません。

その通りなんですが、標準では、既存のメールのそのデータを変えることはできません。
二種の系統のアドオンがあるはず。
(A) 返信の時に、In-Reply-To/Referencesを書かせずに送信して、新規のスレッドにする。
(B) 既存のメールについて、In-Reply-To/Referencesを消したり書き換えて、新規のスレッドにしたり、他のスレッドにぶら下げる。
一つのアドオンで両方出来るものもあったように記憶してます。

具体的なアドオンは、自分で探すなり、他の方がポイントしてくれるのをお待ちください。


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月07日(土) 22:13 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
usa3usaさんの意図としては、
「これから出すメールを、前便とのスレッドを切った状態で新規に出したい」ではなく、
「既に受信済みのメールについて、スレッドの分離機能があれば教えて欲しい」
でよいですか?

ボタン一発とは言い難いですが、以下のアドオンはどうでしょうか。
TotalMessage
ヘッダペイン(スレッドペインとメッセージペインの間)に常駐するので、ヘッダをカスタマイズするアドオン(CompactHeaderなど)と競合しますが、ヘッダ全体の編集が可能となります。
最近使ってないのでうろ覚えですが、確かスレッドペイン上にて「分離したいメールタイトルをドラッグ」で、スレッドの分離が行えたような・・・
※スレッドペイン=メール一覧のエリア
※メッセージペイン=その下のメール本文のエリア

また、
引用:
(A) 返信の時に、In-Reply-To/Referencesを書かせずに送信して、新規のスレッドにする。

これに関しては、アドオン使わなくても、ヘッダペイン上で相手のメールアドレスを選択し、「メッセージを作成」を選ぶと、スレッドが切れた状態=新規の状態で作成できます。
添付ファイル:
compose.png
compose.png [ 22.85 KiB | 表示数: 16187 回 ]

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:42.0) Gecko/20100101 Firefox/42.0

通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月08日(日) 08:45 
オフライン

登録日時: 2015年11月07日(土) 18:27
記事: 6
meeyarさんのおっしゃる通り、
>「既に受信済みのメールについて、スレッドの分離機能があれば教えて欲しい」
>でよいですか?
まさにその通りです。

>ボタン一発とは言い難いですが、以下のアドオンはどうでしょうか。
>TotalMessage
>ヘッダペイン(スレッドペインとメッセージペインの間)に常駐するので、ヘッダをカスタマイズするアドオン(CompactHeaderなど)と競合しますが、ヘッダ全体の編集が可能となります。
ありがとうございます。アドオン入れてみました。

さっそく、分離したいメールを選んで、ヘッダ部分を表示するところまでできたのですが、どうやってヘッダ部の編集をしたらよいのかわからず、処理が進みません。
すいません、手順の教示、お願いします。

_________________
Mozilla/5.0 (Windows NT 6.1; rv:41.0) Gecko/20100101 Firefox/41.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月08日(日) 19:13 
横から失礼します。

電子メールのスレッド表示は、usa3usa さんが見当をつけられた通り、
 References
 In-Reply-To
という2つのメールヘッダがキーになっています。

これについては、メールソフトによって微妙に取り扱いが違います。
送信側の実情として、この2つのメールヘッダは返信時には付けることが望ましいものではありますが、「必須」ではないため、適正に付けてこないものがあります。例えば、返信に際し References だけが付き In-Reply-To を付けてこないものがあるなど、そのメールソフト固有の仕様に依存した部分がある、ということです。
ソフトウェアの仕様とは別にユーザーの運用方法として、ご質問にもあるように、まったく別内容の新規メールであるにもかかわらず、目についた過去のメッセージに対して「返信」で作成画面を開き、件名を書き換えて送信するユーザーもいます。その場合は普通に References や In-Reply-To が付くので、別内容のメールなのに、受信側では別件のスレッドに紛れ込むことになります。

受信側の立場でいえば、様ざまな仕様を持つ送信環境からのメールを受け取るわけですが、スレッド表示を実現する上でベースになるのが上記2つのメールヘッダであることは、ほぼ共通しています。
細部はメールソフトによって違いもあって、その他の項目(件名や日付など)を追加的に考慮してスレッド表示をするときの判断材料に使っているものもあります。Becky! Internet Mail のように、スレッドの「つなぐ」「切る」を操作する機能を持ったソフトもあります。

Thunderbird のスレッドの取り扱いは、少々古い記事ですが、次のサイトの説明がわかりやすいと思うので、参考にしてください。
(参考)・Thunderbird のスレッド表示まとめ - えむもじら
http://level.s69.xrea.com/mozilla/index ... _TB_Thread
現在の Thunderbird では改良されているところもありますが、基本的な仕様は変わっていないはずです。


スレッドの編集については、「つなぐ」と「切る」があって、いずれも References と In-Reply-To を手作業で操作すれば何とかできるのですが、難易度が違います。

「切る」ほうは比較的簡単です。
あるスレッドに紛れ込んだ異なる内容のメッセージを、単純に切り離して独立させるだけなら、References と In-Reply-To の内容を消すか、そのヘッダ行自体を削除するだけで済みます。(ヘッダ内に空白行が残らないように注意!)

「切る」に比べると「つなぐ」ほうはちょっと難しいです。
前後のメッセージのつながりを判断しながら、スレッド内で希望する配置になるよう、References と In-Reply-To を書き足し、調整してやる必要があるからです。
スレッドの繋がりは一律ではなく複雑なケースもあり、内容的な繋がりと順序をユーザーが判断しなければならない場合もあります。
ひとつのメッセージを、あるメッセージの直下に配置するだけなら比較的容易ですが(Becky! の機能など)、複数のメッセージを選択してワンタッチでユーザーの希望通りのスレッド配置にするようなことは困難です。なので、そのようなソフトウェアやアドオンは見かけないのだろうと思います。

(補足1)
もし慣れなくて自信が持てないなら、最終的に変更したいスレッドにあるオリジナルのメッセージ群を、テスト用に作ったフォルダにコピーし、そこでアドオンを使ったメールヘッダの編集を練習してみることをお勧めします。
なぜなら、いきなり本番で使ってオリジナルのメッセージを破損させると、それを修復するためにより多くの手間がかかってしまうからです。
どのヘッダをどういじったらどんな結果になるのか、アドオンの持つクセなどを飲み込むのに役に立つと思います。まあ、「簡単・迅速」と「安全・確実」のバランスを意識していただければ、ということで...。

(補足2)
Thunderbird は、新しいメッセージを受信したり、削除したり、移動したりといった変化が本体のデータに起こるごとに、その変更内容を要約ファイル(*.msf)に反映させます。
スレッドペイン(右上の窓)に表示されるメッセージ一覧は、この要約ファイルを読み込んでいます。
アドオンを使うなどして本体データに対してメールヘッダを変則的に書き換えた場合、とくにスレッド表示のように、書き換えたメッセージだけでなく前後のメッセージとの関係をふまえて表示されるものは、要約ファイルへの反映が適正におこなわれない場合があります。このようなときは、要約ファイルの更新を手動でおこなってみてください。フォルダを選択して右クリックから [プロパティ] で開くダイアログにある [フォルダを修復] ボタンで実行できます。

(補足3)
meeyar さんからご紹介があった TotalMessage 以外にも、メールヘッダの編集を手助けしてくれるアドオンがあります。
(一例)・Header Tools Lite
https://addons.mozilla.org/ja/thunderbi ... ools-lite/
スレッドペインの下、メッセージペインの上部にあるヘッダビューには影響せず、選択したメッセージを右クリックで開くメニューの [Header ToolsLite] から使うあたりが TotalMessage とは違いますが、選択したメッセージのメールヘッダを書き換える機能を提供してくれるところは同じです。
[ソース編集] は強力なので、使うときは注意してください。

スレッドから分離したいメッセージが少数なら、アドオンをまったく使わないでメールヘッダを書き換える方法も使えるでしょう。
概要はこうです。
分離したいメッセージを eml ファイルで保存し、それをテキストエディタで開いて当該ヘッダを編集・保存。それを再び Thunderbird に取り込むことで、分離したメッセージを作れます。取り込み後のメッセージが Thunderbird 上で正常に読めることを確認したら、その元となったメッセージを削除すれば、スレッド内から消えます。

メールヘッダをうかつに操作すると深刻な問題を呼び込んでしまうことがあるため、慎重さを期してあれこれ書かせていただきました。
すでにご存知のことならくどくなって申し訳なかったですが、参考にできるところがあれば活用してください。

とりあえず以上です。

_________________
Mozilla/5.0 (Windows NT 6.2; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0


通報する
ページトップ
  
引用付きで返信する  
投稿記事Posted: 2015年11月08日(日) 19:39 
オフライン

登録日時: 2011年7月14日(木) 22:59
記事: 547
プレビューを見ていたら既に超強力な解説が(^_^;
いつも返信が被ってしまい申し訳ありません。 > 偶然的通行人さん

以下はTotalMessageの動作確認です。
ちょっと手持ちの環境(Windows8.1+Thunderbird38.3.0)で試してみたのですが、TotalMessageのバージョンによって動く環境とそうでない環境があるみたいで…

公式だと、Tb37.0以降は3.1使ってね! といった説明なのですが、当方の環境ではヘッダ編集が上手くなかったため、その前の2.6で試しています。
一応、新規プロファイルでの確認ですが、動作の差異については個々人の環境依存であることを否定できないため(3.1環境でも動いているのがあったような)、もし以下の方法でうまくいかない場合は違うバージョンを試してもよいかもしれません。

で、肝心の動作に関してですが、公式の説明は上記リンク先の「Easy Threading and Re-threading of messages」以下に書いてあります。
以下は抜粋と実際に確認してみた動作です。

0)下準備
スレッドペインを「スレッド表示」にします。
(スレッドペインのコラムの一番左側がスレッド表示/非表示切替になっています)
スレッドペイン上でスレッドの編集をしたいメールを選択状態にしておきます。

1)新規で(完全にスレッドを分離して)表示
スレッドが
[メールA]
 └[メールB]
   └[メールC]
となっている場合に、 [メールB]を分離する方法です。
[メールB][メールC]を(B-C間のスレッドを維持したままで)一度に分離することは、現状ではできないようなので、1)2)の方法を組み合わせて編集することになります。

0)で選択済みのメールについて、Ctrl+dを押します。
または、ヘッダペインで右クリック→コンテキストメニューから「Header Editor」を選択します。
ヘッダビューが赤くなり、「Edit Mode」と表示されるはずです。

この状態でCtrl+Xを押します。
スレッドが分離し、[メールB]のみ新規のスレッドになります。

2)ルート以下にスレッドをつなげる
1)の直後だと、
[メールA]
 └[メールC]
[メールB]
となっているはずです。
これを、
[メールA]
[メールB]
 └[メールC]
にする方法です。

[メールC]を選択した状態で、ヘッダを「Edit Mode」にします。
これを、[メールB]にドラッグすると、B-Cのスレッドがつながります。
現状では1つずつつなげるしかない(複数選択した状態でEdit Modeにできない)ので、ルート以下がたくさんつながっている場合は手間をかけざるを得ないようです。
また、公式では
引用:
Editing (thus rethreading) is not available for messages in an IMAP readonly or news (NNTP) or trash folder.

とあり、IMAP(*)とかニュースフィード(NNTP)、ごみ箱では使えないよ、ということなので、使える条件がかなり限られそうです。
*追記:上記は"IMAP readonly "とあるので、IMAPでも編集可の設定であれば可能と思います)

ヘッダを直接書き換えるよりは楽ですが、超便利で楽、とは言い難いかも…
ヘッダの編集については、既に偶然的通行人さんからの説明がありますが、TotalMessageでも直接ヘッダの文字列編集が可能です。
Edit Modeにした時、赤いエリアの下にヘッダの具体的な情報が表示されますので、ここの文字列を直接削除、編集、追加することで
偶然的通行人 さんが書きました:
「切る」ほうは比較的簡単です。
あるスレッドに紛れ込んだ異なる内容のメッセージを、単純に切り離して独立させるだけなら、References と In-Reply-To の内容を消すか、そのヘッダ行自体を削除するだけで済みます。(ヘッダ内に空白行が残らないように注意!)

「切る」に比べると「つなぐ」ほうはちょっと難しいです。
前後のメッセージのつながりを判断しながら、スレッド内で希望する配置になるよう、References と In-Reply-To を書き足し、調整してやる必要があるからです。

ということが可能になります。
(Ctrl+dで行った場合は、赤エリアの下を広げることでヘッダが見えるようになります)

昔のバージョンだと、編集前オリジナルのメールを「ごみ箱」にバックアップしてくれていたと思うのですが、今のバージョンは(規定では)やってくれないみたいです。
失いたくないメールは念のためバックアップを取っておいてからトライした方がよいと思います。

_________________
Thunderbirdの基本を書いています(ずっと発展途上) とりかごとなり。
基本の操作(画像あり):バージョン確認 / セーフモード / 新規プロファイル作成


通報する
ページトップ
 プロフィール  
引用付きで返信する  
投稿記事Posted: 2015年11月16日(月) 18:15 
オフライン

登録日時: 2015年11月07日(土) 18:27
記事: 6
皆さま、いろいろ有用な情報ありがとうございました。
Header Editorでの操作で可能なことがわかりましたが、操作が煩雑なので、
結局、以下の処理2,3を実行する専用アプリ(C言語で200行程度)を作成して対応しました。

1)独立させたいスレッドを一つのフォルダに移動し、
2)フォルダ内すべてのMessage-Id を書き出し、
3)In-Reply-To: References: の後ろのIDの中からフォルダ内にはないIDを削除して
4)フォルダをもとのフォルダに戻すと、独立したスレッドになる。

いろいろとありがとうございました。

_________________
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0


通報する
ページトップ
 プロフィール  
引用付きで返信する  
期間内表示:  ソート  
新しいトピックを投稿する トピックへ返信する  [ 7 件の記事 ] 

All times are UTC + 9 hours


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[89人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
Powered by MozillaZine.jp® Forum Software © phpBB Group , Almsamim WYSIWYG
Japanese translation principally by ocean