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



All times are UTC + 9 hours

新しいトピックを投稿する トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2010年4月10日(土) 17:35 
【前置き】
発端は、Thunderbird 3.0.4 の RC ビルドが出てきた頃、なんの気なしに読み返していた Thunderbird 3.0.3 がリリースされた の記事です。“バグを逆手にとったらどうなるだろう”という単純な好奇心が起こり、その後少しばかり時間の余裕があったとき Thunderbird をいじり回して、我流でたどりついたのが表題の方法です。
ですから理論的根拠に乏しいですし、そもそもこのような手法はよく知られた Tips なのかもしれません。もしそうなら二番煎じもいいとこですから適当にスルーしてください。(フォーラムのリソースを無駄に消費してすみません。)
しかし、もしあまり知られていないことであれば、オープンソース的な情報共有という観点からこのフォーラムに書き込ませていただくことにも、多少の意味はあるかもしれないと考えたしだいです。
ここに書かれた内容は、ぼくの環境では一通り確認してはいますが、すべて無保証です。
もし実行する場合は、At Your Own Risk でやってください。


【概説】
Thunderbird には、「ローカルフォルダ」(共通受信トレイ)という擬似的なアカウントが既定で存在します。
複数のアカウントを「ローカルフォルダ」にまとめることが可能なため、使い方によってはたいへん便利な機能で、Outlook Express から移行した人にとっても比較的違和感なく使える機能だと思います。
一方、複数のアカウントをそれぞれ個別に管理したい人にとって、実質的に使わない「ローカルフォルダ」は、けっこう目ざわりな存在でもあります。しかし、「ローカルフォルダ」は消すことができません。
そこで、Thunderbird の機能にできるだけ制約を加えないで、「ローカルフォルダ」を非表示にする方法を探ったのが、このレポートの内容です。≪実施環境= Windows XP SP3 + Thunderbird 3.0.4(ja)≫

【下準備】
「ローカルフォルダ」は、Thunderbird において固定された標準アカウントの位置づけを持ち、基本的な動作に深く関わっています。そのため、完全に削除することは事実上困難ですし、単純に非表示にしただけでは様ざまな不都合が生じます。
できるだけ安全に非表示化するためには、事前に対処しておかなければならない事柄がいくつもあります。

(1)最重要 どのアカウントも「共通受信トレイ」(ローカルフォルダ)を使う設定になっていないこと。
(2)「ローカルフォルダ」にあるメッセージは、すべて他のアカウントに移しておく。
(3)アカウント設定のうち、各アカウントの [送信控えと特別なフォルダ] [迷惑メール] で「ローカルフォルダ」を指定しているものがあれば、すべて解除するか変更しておく。
(4)「ローカルフォルダ」に対する動作を指定したメッセージフィルタは、解除するか変更しておく。
(5)「ローカルフォルダ」に対して機能する、または「ローカルフォルダ」の存在を前提に動作するアドオンがあれば、設定を切り替えるか無効化しておく。
(6)「送信トレイ」を別のアカウントに移す。
(7)その他、「ローカルフォルダ」に関係する事項があれば、事前に見直しておく。

やっかいなのは(6)です。
「ローカルフォルダ」は特別な存在ですが、「送信トレイ」(Thunderbird 2.0 までは「未送信」)はある意味もっと特殊です。「ローカルフォルダ」にしかなく、他のどのアカウントでメッセージを作成しても「後で送信」にすると「送信トレイ」に入ってくる、メッセージ送信の機能上欠かすことのできない非常に特殊なフォルダです。
単に「ローカルフォルダ」以外のアカウントに「送信トレイ」という名称のフォルダを作っただけでは意味がなく、機能を維持したまま任意のアカウントの下に配置し直す必要があります。

《「送信トレイ」を再配置する手順》
(1)Thunderbird を終了させた状態で、エクスプローラなどのファイルマネージャでプロファイルを開き、Mail フォルダ配下にある各アカウント(のフォルダ)のうち、「送信トレイ」を置きたいアカウントを決めます。ここでは仮に「MainAccount」とします。
(2)「MainAccount」フォルダに、「Local Folders」フォルダにある「Unsent Messages」と「Unsent Messages.msf」の 2 つのファイルをコピーします。
(3)Thunderbird を起動すると、「MainAccount」の配下に「送信トレイ」が出来ているはずです。しかし、この段階では「送信トレイ」として機能はしません。
(4)次に、設定エディタ(about:config)を開いてフィルタ欄に「mail.default_sendlater_uri」と入力します。これは、デフォルトの「送信トレイ」の場所を指定する設定項目です。この段階では、値は「mailbox://nobody@Local%20Folders/Unsent%20Messages」、つまり「ローカルフォルダ」が指定されているはずです。
(5)「mailbox://nobody@Local%20Folders/Unsent%20Messages」のうち、nobody@Local%20Folders の部分を、(1)で決めたアカウントのフォルダ名に書き換えます。この例では「mailbox://MainAccount/Unsent%20Messages」とします。
(6)設定エディタを閉じ、Thunderbird を再起動すると、「ローカルフォルダ」配下の「送信トレイ」ではなく、「MainAccount」配下の「送信トレイ」が既定になっているはずです。
(7)確認のため、いくつかのアカウントから新規メッセージを作り、「後で送信」を実行します。メッセージが「MainAccount」配下の「送信トレイ」に保存され、「未送信メッセージを送信」の実行で正常に送信できていれば成功です。
(補)確認が終わったあと、「MainAccount」配下の「送信トレイ」フォルダに対し、「最適化」と「索引の再構築」を実行しておくことを勧めます。これは必須ではありませんが、(2)でコピーした「Unsent Messages」と「Unsent Messages.msf」のデータを「MainAccount」配下に置くに当たってリフレッシュしておく意味合いからです。

≪補足説明≫
*上記(2)の手順で、他のアカウントフォルダにも「Unsent Messages」と「Unsent Messages.msf」をコピーすれば、すべてのアカウントに「送信トレイ」を生成可能ですが、実際に機能するのは(4)~(5)で定義されたアカウントの「送信トレイ」だけです。他のアカウントに「送信トレイ」を作る積極的な意味は何もありません。
*上記(5)の手順において、ロケーションを指定しているのが URL 形式なので、半角スペースの部分は「%20」という URL エンコードで表現されています。もし、(1)で選んだアカウントが半角スペースを含む場合、「%20」で置き換えます。例えば、「MainAccount」ではなく「Main Account」だったなら「Main%20Account」と書きます。


【本題 ―― ローカルフォルダの非表示化】
下準備が滞りなくすんでから、「ローカルフォルダ」を非表示にする作業にとりかかります。
手順は次の通りです。

(1)Thunderbird を起動し、設定エディタ(about:config)を開いてフィルタ欄に「ローカルフォルダ」または「Local Folders」と入力します。そのときリストアップされた設定名「mail.server.serverN.name」や「mail.server.serverN.directory」などの N を覚えておきます。N は数字です。
(2)設定エディタの表示画面で右クリックし、[新規作成] -> [真偽値] を選びます。
(3)開いたダイアログで、設定名の欄に「mail.server.serverN.hidden」と入力し、[OK] ボタンを押します。N は(1)で調べた数字です。
(4)真偽値をたずねてきますので、「true」を選び、[OK] ボタンを押します。これで、設定は完了です。
(5)設定エディタを閉じ、Thunderbird を再起動します。
(6)フォルダペインに「ローカルフォルダ」が表示されていないことを確認します。

≪補足説明≫
*何をやっているかというと、アカウントごとに定義された mail.server.serverN に対しインターフェイス上で非表示にする設定項目を、「ローカルフォルダ」に該当する mail.server.serverN 対して新規に割り当て、それを有効にしています。
*上記(2)~(4)の代わりに、user.js に「user_pref("mail.server.serverN.hidden", true);」と記述しても同じ結果を得られるはずです。


以上で、Thunderbird 上において「ローカルフォルダ」は表示されなくなりますが、プロファイル内の実体である「Local Folders」フォルダは削除されるわけではなく、そのまま残ります。
何らかの不都合が起こった場合のことを考慮し、保存しておくことをお勧めします。

【問題点と注意点】
・Thunderbird の「設定とデータのインポート」で、例えば Outlook Express のメールを取り込むような場合、「ローカルフォルダ」配下にインポートフォルダが自動生成されます。しかし、「ローカルフォルダ」を非表示にしていると、このインポートフォルダを目視することが不可能になります。「ローカルフォルダ」を非表示にした後に「設定とデータのインポート」でメールデータのインポートを行う場合は注意してください。
・下準備の項でも触れたように、「ローカルフォルダ」は様々な方面に関わりを持っているので、非表示に成功したように見えても、後々 Thunderbird のバージョンアップや新たなアドオンの導入などで予期せぬ不具合を誘発する可能性を払拭できません。もしも「ローカルフォルダ」非表示を常用環境に設定して使い続けるなら、そのことを覚悟しておいてください。
・このレポートの内容を実行する場合、テスト用のプロファイルで試すとか、現行プロファイルのバックアップをとっておくなどして、問題が起こったときの復旧の手立てを担保しておくことをお勧めします。
・くどいようですが最後にもう一度言います。実行するなら At Your Own Risk です。

以上、相応のリスクがあることを十分理解した上で、このレポートを参考にしていただければ幸いです。
※間違っている内容の訂正・補足、もっと簡単で安全な方法の紹介などの書き込みを歓迎します。


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

All times are UTC + 9 hours


オンラインデータ

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


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

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