OSDN Git Service

Add web mail viewer 'Maverick'.
[mave/mave.git] / README.jp
1 テキストベースメーラ「Mave」の使い方
2
3 必要なパッケージ
4
5   Ruby、curses および qdbm/gdbm ライブラリ
6
7 1. アーカイブの取得と展開
8
9   http://sourceforge.jp/projects/mave/downloads/xxxxx/mave-2.98.tgz/ にアクセスする。
10   $ tar xvfz mave-2.98.tgz
11   $ cd mave-2.98
12
13 2. ユーザ設定
14
15   $ cp mave.config.sample mave.config
16   $ vi mave.config
17
18     'Main' アカウントの部分を、あなたの設定に書き換えてください。
19     とりあえず Mave を試してみたい場合、以降を飛ばして 3. に進んでも結構です。
20
21     好みのエディタ環境を設定してください。
22
23     @configs[:EDITOR_TYPE] = ['system'|'forkexec']
24         system: Mave は curses ウィンドウを閉じ、同じコンソール上にエディタを起動します。CUI 向き。
25       forkexec: Mave は子プロセスを fork し、別ウィンドウでエディタを起動します。GUI 向き。
26
27     @configs[:EDITOR] = '/usr/bin/editor %s'
28       エディタを起動するコマンド定義です。%s はファイル名に置換されます。
29
30     好みのビューア環境を設定してください。
31
32     @configs[:VIEWER_TYPE] = ['system'|'forkexec']
33     @configs[:VIEWER] = '/usr/bin/viewer %s'
34       設定はエディタと同様です。
35
36     ファイルマネージャの環境を設定してください。
37
38     @configs[:FILE_MANAGER_TYPE] = ['system'|'forkexec']
39     @configs[:FILE_MANAGER] = '/usr/bin/nautilus %s >/dev/null 2>&1'
40       添付ファイルの保存先など、ファイル操作のためディレクトリを開く際に利用されます。
41
42     ファイル識別コマンドを設定してください。
43
44     @configs[:FILE_IDENTIFIER] = '/usr/bin/file -b -i %s 2>/dev/null'
45       添付ファイルを付加する場合など、ファイルタイプの識別の際に利用されます。
46
47 3. メールを蓄積するディレクトリの作成
48
49   $ mkdir ~/mave.mails
50
51   ここで指定したディレクトリ以外へ、ファイルを書き込むことはありません。
52
53   この時点で、メールを送信するなら、事前にアドレス帳を作成しておくことを勧めます。
54   「15. アドレス帳の作成」の項を確認して下さい。
55
56 4. Mave の実行
57
58   $ ./mave
59
60   文字化けが起きる場合「メモ:」の項を確認してください。
61
62 5. メールの取得
63
64   Ctrl + x、p と、キーを押すと、サーバからメールが取得されます。
65
66   デフォルトでは、Mave は、即座にサーバ上からメールを削除しません。
67   メールを削除するまでのタイムラグは「:POP_KEEP_TIME」に設定されています。
68   これにより、現在利用中のメーラと並行して Mave を利用可能です。
69
70   ステータスウィンドウは、PgUp, PgDn でスクロールできます。
71
72 6. メールを閲覧する
73
74   Vi エディタのように、それぞれ、h, j, k, l キーが、左、下、上、右に割り当てられています。
75
76   メール一覧の表示の意味は以下になります。
77
78   x.  22 Amazon.co.jp <sh 11/22 日 15:40  579 .. +Amazon.co.jp ご注文の確認
79   ^^ ^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^ ^^ ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
80   ||  |   送信元 / 送信先  送信日      サイズ || |  件名
81   ||  +-最新 0 <=> 999 古い                   || +-親(+) / 子(-) / 折り畳み中(#/=)
82   |+-フラグ(F) / 注意(#)                      |+-マルチパートメール(@)(添付あり)
83   +-未読(x)                                   +-To あなた(w) / Cc あなた(v)
84
85   以下の表示状態の操作ができます。
86
87   r キー: 未読表示の切り替え          f キー: フラグのオン、オフ
88   o キー: スレッドを折り畳む、開く    n キー: 注意の印のオン、オフ
89
90   Ctrl + x、v と、キーを押すと、メールビューアが開きます。
91
92 7. インクリメンタル検索
93
94   メール一覧ビュー、または、メール本文ビューで、Ctrl + s を押すと、インクリメンタル検索ダイアログが開きます。
95   キー入力の都度、検索が進みます。
96   検索語が見つかった状態で、Ctrl + s を押すと、次を検索します。
97   検索を中断したり、検索ダイアログを閉じるには、Ctrl + g を押します。
98   Ctrl + r を押すと、逆方向に検索します。
99
100   別途、漢字かな変換エンジン KAKASI と、その Ruby バインディングを導入することにより、
101   メール一覧ビューで、ローマ字キー入力によるインクリメンタル検索が可能になります。
102   本機能は、日本語をローマ字変換し、それをキャッシュすることにより実装されています。
103   キャッシュの内容は、ESC、Shift + q を押すことにより確認できます。
104
105 8. メールを作成/編集する
106
107   Ctrl + x、n と、キーを押すと、新規メールを作成します。
108   Ctrl + x、r と、キーを押すと、返信メールを作成します。
109   メールは「草稿」フォルダに格納されます。
110
111   Ctrl + x、e と、キーを押すと、既存のメールを編集します。
112   メールは上書きされます。
113
114   送信先(To:, Cc:, Bcc:)の欄では、アドレス帳の機能を用いた宛先指定ができます。
115   2 つのハイフンで囲った文字列は、アドレス帳で定義した ID と見なされ、以下のように変換されます。
116
117   定義の例)
118     entries << { :MAIL => 'x-tanaka@google.com',                    :ID => '田中',                                  }
119     entries << { :MAIL => 'y-kato@yahoo.co.jp',                     :ID => '加藤@private',  :SEND => 'かとちゃん',  }
120
121   編集時)                      送信時)
122     To: --田中--,           =>   To: 田中 様 <x-tanaka@google.com>, かとちゃん <y-kato@yahoo.co.jp>
123         --加藤@private--
124
125 9. フォルダ機能
126
127   メール一覧ビューで、左(h)を押すと、フォルダ一覧ビューに移行します。
128   フォルダ一覧ビューでは、上下(k, j)で選択、右(l)でフォルダ内に移動できます。
129   また、ショートカットキーを押すことでも、フォルダ内に移動できます。
130
131   フォルダ一覧の表示の意味は以下になります。
132
133   x 0) 受信箱 (5/52)
134   . a) コミュニティ (2/38)
135   x b) 開発 (1/8)
136   . d) 草稿 (0/23)
137   . o) 送信箱 (0/0)
138   . s) 送信済み (0/25)
139   . t) ゴミ箱 (0/18)
140   ^ ^  ^^^^^^  ^^^^
141   | |    |     未読数 / メール総数
142   | |    +-フォルダ名
143   | +-ショートカットキー
144   +-新着メールあり(x)
145
146   r キーで、新着メールマークをオン、オフできます。
147   フォルダ一覧ビューで、Ctrl + x、n と、キーを押すと、新規にフォルダが作成できます。
148   フォルダを選択した状態で、Ctrl + x、e と、キーを押すと、フォルダの設定を編集できます。
149   フォルダの設定の編集により、表示名、表示順、メールの振り分けなどが変更できます。
150   設定の例については「mave.folderconfig.master」を見てください。
151
152 10. メールの移動、コピー、削除
153
154   メール一覧ビューで、Ctrl + x、m と、キーを押すと、別のフォルダにメールを移動できます。
155   フォルダ一覧ビューが開くので、移動先のフォルダを選択してください。
156
157   Ctrl + x、c と、キーを押すと、別のフォルダにメールをコピーできます。
158
159   Ctrl + x、d と、キーを押すと、メールを削除できます。
160   「ゴミ箱」フォルダ以外での削除操作は「ゴミ箱」フォルダへの移動になります。
161   「ゴミ箱」フォルダで削除操作を行うと、メールは完全に削除されます。
162
163 11. メールの送信
164
165   Ctrl + x、s と、キーを押すと「送信箱」フォルダにあるメールが送信されます。
166
167   通常、編集したメールは「草稿」フォルダに格納されますので、
168   メールを書き上げ、送信準備が整ったら「送信箱」フォルダに移動し、送信対象とします。
169
170   送信が完了したメールは「送信済み」フォルダに移動されます。
171
172 12. メールのインポート
173
174   Ctrl + x、Shift + i と、キーを押すと、アカウント毎の設定にしたがって、メールがインポートされます。
175
176   インポートの設定は、インポート対象を標準出力にリストアップするコマンドで表されます。
177
178   例)
179     account[:IMPORT_COMMAND] = %Q!/usr/bin/find /home/old_user/mave.mails -name '*.eml' |
180                                   grep -E '/Inbox/' | sed 's/\\/.*\\//& /'| sort -k 2 | sed 's/ //'!
181
182   別途、テキストファイルに記載しておき、それを cat する方法も考えられます。
183   インポート対象は、1 メール、1 ファイルの形式である必要があります。
184   現状、mbox 形式等には対応していません。
185
186   デフォルト設定には、Mave のマニュアルをメール形式にしたものを、インポートする設定が含まれています。
187   Mave 起動の直後に、Ctrl + x、Shift + i と、キーを押してみてください。
188
189 13. メールのマーク
190
191   メール一覧ビューで、m キーを押すと、メールをマークできます。
192   マークされたメールは「M」で表示されます。
193
194   - x.  22 Amazon.co.jp <sh 11/22 日 15:40  579 .. +Amazon.co.jp ご注文の確認
195   M x.  22 Amazon.co.jp <sh 11/23 月 15:41  612 ..   -Amazon.co.jp ご注文商品の発送 (#123-1423534-1048639)
196   ^ 「M」マーク
197
198   u キーを押すと、メールのマークを解除できます。
199   ESC、u と、キーを押すと、すべてのマークを解除できます。
200
201   多くの機能は、マーク中、マークされたメールに対して作用します。
202
203 14. スレッド操作
204
205   メール一覧ビューで、Ctrl + x、Shift + j と、キーを押すと、メールをスレッドから取り外せます。
206
207   ESC、j と、キーを押すと、メールを元のスレッドにつなぎ直します。
208
209   Ctrl + x、j と、キーを押すと、メールを任意のスレッドにつなげられます。
210   つなぎたいメールをマークし、次に、つなぎ先のメールにカーソルを合わせて、Ctrl + x、j と、キーを押してください。
211
212 15. アドレス帳の作成
213
214   $ cp mave_address.sample mave_address
215   $ vi mave_address
216
217   サンプルの記載に沿って、自分、家族、および、知人のメールアドレスを記載してください。
218
219   例)
220     entries << { :MAIL => 'x-tanaka@google.com',                    :ID => '田中',                                  }
221     entries << { :MAIL => 'y-kato@yahoo.co.jp',                     :ID => '加藤@private',  :SEND => 'かとちゃん',  }
222     entries << { :MAIL => 'z-suzuki@abc.co.jp',                     :ID => '鈴木@ABC',      :SEND => '鈴木さん',    }
223
224   アドレス帳スクリプトを実行することで、アドレス帳 DB に登録されます。
225
226   $ ./mave_address
227
228 16. 添付ファイルの操作
229
230   受信したメールの添付ファイルを閲覧する。
231
232     メール一覧ビューで、Ctrl + x、x と、キーを押すと、メール中のすべての添付ファイルが、関連ディレクトリに展開されます。
233     関連ディレクトリとは、メールと対となるディレクトリで、任意のファイルを保存しておけます。
234     関連ディレクトリは、メール一覧ビューで、ESC、f と、キーを押すことで、指定のファイルマネージャにて開くことができます。
235
236   受信したメールの添付ファイルを修正して返信する。
237
238     メール一覧ビューで、Ctrl + x、r と、キーを押し、返信メールを作成すると、X-Mave-Extract-Targets ヘッダが付加されています。
239     そのまま、メールを編集して保存すると、X-Mave-Extract-Targets ヘッダの下の記載に対応する添付ファイルが、返信メールの関連ディレクトリに展開されます。
240     返信メールに対して、ESC、f と、キーを押すと、関連ディレクトリが開くので、必要に応じて添付ファイルを修正します。
241     Ctrl + x、e と、キーを押して返信メールを編集します。展開された添付ファイルは、X-Mave-Relations ヘッダの下に記載されています。
242     返信メールに添付して返信したい場合、X-Mave-Relations ヘッダの下から、X-Mave-Attachments ヘッダの下に記載を移動します。
243     あとは、通常通り「送信箱」フォルダに移動し、Ctrl + x、s と、キーを押して送信すると、添付されて送信されます。
244
245   新規メールに、新規に添付ファイルを添付して送信する。
246
247     メール一覧ビューで、Ctrl + x、n と、キーを押して新規メールを作成すると、空の X-Mave-Relations ヘッダが付加されています。
248         X-Mave-Relations ヘッダの下に、新規に添付する予定のファイル名を記載して保存すると、関連ディレクトリ内に指定のファイル名の空ファイルが作成されます。
249     新規メールに対して、ESC、f と、キーを押すと、関連ディレクトリが開くので、必要に応じて空ファイルを編集します。
250     あとは、上記と同様に、X-Mave-Relations ヘッダの下から、X-Mave-Attachments ヘッダの下に記載を移動し、送信動作を行います。
251
252 17. クリップ(引用)、タグジャンプ
253
254   クリップ(引用)機能とは、メールの一部を引用し、別のメールに貼り付ける機能です。
255   貼り付けられる情報には、メールのメッセージ ID 情報(タグ)が含まれるので、そこから引用元のメールに飛ぶ(タグジャンプ)ことができます。
256   これらの機能を活用すれば、メーラ上でスケジュール管理したり、後述する全文検索機能を実現したりすることができます。
257
258   メール本文ビューの、上から十数行目の左端にある「]」マークは、主にクリップを行う際に利用するカーソルになります。
259   引用を開始したい行にカーソルを合わせ、Ctrl + c と、キーを押すと、該当の行がクリップファイルに記録されます。
260   引用操作を行うとカーソルは次の行に移動するので、続けて Ctrl + c と、キーを押すことで、連続して複数行を引用できます。
261
262   クリップファイルは、デフォルトでは、メールを蓄積するディレクトリの下の _pop の下に、mave.clip というファイル名で記録されます。
263   エディタによるメールの編集中に、ファイルの挿入機能を利用するなどして、このファイルを貼り付けてください。
264
265   貼り付けられた引用文は、以下のような形式になっています。
266
267       * 【会議開催通知】メーラ「Mave」2.97 の最終レビュー
268         <1268959354.007885.8ed5d181@mave.zakato.itline.jp> line:18
269       - 1. 日 時: 4 月 1 日 (木) 13:15 〜 15:00
270       - 2. 場 所: 503 会議室
271
272   引用文の 2 行目にある、メッセージ ID 情報のタグの行にカーソルを合わせて、Ctrl + ] と、キーを押すと、引用元のメールにタグジャンプします。
273   タグジャンプ直前の位置はタグスタックに保存されていますので、Ctrl + t と、キーを押すと、元の位置に戻ることができます。
274
275 18. 全文検索
276
277   別途、全文検索エンジンを導入することで、フォルダ単位で、メールの内容の全文検索を行うことができます。
278   基本的に、全文検索機能は、シェルコマンドの実行、結果の取り込み、タグジャンプの組み合わせにより実装されています。
279   記述例として、Hyper Estraier, Namazu に対するインタフェイスが用意されています。
280   インタフェイスの記述例については、mave.folderconfig.common 内の、fulltext_search メソッドをご覧下さい。
281
282   全文検索を行いたいフォルダに移動し、メール一覧ビュー、または、メール本文ビューで、ESC、s を押すと、全文検索ダイアログが開きます。
283   検索したい語句を入力し、Enter キーを押すと、検索結果は、所定のフォルダに、メールの形で格納されます。
284   検索結果上で、タグジャンプ機能を利用することで、実際のメールに飛ぶことができます。
285
286 19. シェルコマンドの実行、結果の取り込み
287
288   メール内に記載されているコマンド列を、シェルコマンドとして実行し、実行結果を、所定のフォルダに、メールとして取り込むことができます。
289
290   シェルコマンドとして実行したい行にカーソルを合わせ、ESC、! と、キーを押すと、該当の行が実行されます。
291   なお、実行結果が、擬似的にメールの形式を取っている場合、メールヘッダの内容が、取り込むメールに反映されます。
292   これを利用して、取り込まれるメールの Subject や Message-ID を制御することができます。
293   また、X-Mave-Store-Folder 疑似ヘッダを利用することで、メールの取り込み先フォルダを指定することもできます。
294   具体的には、記載事例をまとめたメール(件名: スクリプトランチャの例)をご覧下さい。
295
296 20. 添付忘れ防止機能、送信直前/直後のスクリプト実行
297
298   メール送信の直前/直後に、スクリプトを実行させることができます。
299   これを利用して、メールの送信直前に、本文を精査し、添付忘れを防止する機能などを実装することができます。
300   スクリプトの記述例については、mave.folderconfig.common 内の、presend メソッドをご覧下さい。
301
302 21. 終了する
303
304   Ctrl + x、c と、キーを押すと、Mave は終了します。
305
306 22. ウェブメールビューア「Maverick」
307   
308   「Maverick」は、ウェブ経由でメールを閲覧することができる cgi スクリプトです。
309   メールデータ、および、全文検索インデックスは完全に mave と共用です。
310   別途、Apache と eRuby を導入し、mave のディレクトリを public_html の下に移動、
311   dot.htaccess を参考にアクセス権限を適切に設定して下さい。
312   添付の mave_fetch を crontab 等により周期的に実行することで、Gmail っぽく使えます。
313
314 それでは。
315
316 メモ:
317   ひらがなや漢字などが化けてしまうのは、
318   Ruby の標準 curses ライブラリが UTF-8 に対応していないのが原因です。
319   以下のサイトの記載を参考に、パッチを当てて、ncursesw ライブラリに対応してください。
320
321   http://www.itline.jp/~svx/diary/?date=20091022
322
323   現在、試験的に EUC-JP の端末環境へも対応可能です。
324   この場合、上記のパッチを当てる必要はありません。
325   mave.config の「:TERMINAL_CHARSET」に EUC-JP をセットし、mave_base.rb を一部変更してください。
326   端末から「export LANG=ja_JP.eucjp」を実行する必要もあるかもしれません。
327
328   117     def enspc
329   118 #       return(self)                                            # UTF-8 以外ならコメントを生かす
330   119 ^       self.gsub(/[\xC0-\xE2][\x80-\xBF]+/) {|c|               #### for UTF8 いーかげん
331       +-この「#」を消す
332
333   また、試験的に SHIFT_JIS での Windows コンソール環境への対応も進めています。
334   mave.config の「:TERMINAL_CHARSET」に SHIFT_JIS をセットするなどをお試し下さい。
335
336 Mave プロジェクトオフィシャルページ:
337   http://sourceforge.jp/projects/mave/
338
339 [EOF]