CNSのUNIX環境でメールを読むには,Emacs上で動作するMew(Messaging in the Emacs World)と呼ばれるメールクライアントを利用する.
Mewを起動するには,Emacsを起動してM-x mewと入力する.すると,起動画面(図2.1)が表示された後,受信メールの一覧が表示される.この受信メールの一覧が表示されている状態をSummaryモードと呼ぶ.Mewはメールサーバに新しくメールが到着している場合,起動時にメールを受信する.メールの受信中は,エコーエリアに`Getting +inbox ...'と表示され,受信が終了すると新しく到着したメールが一覧に追加され,追加されたメールの数がエコーエリアに表示される.新しいメールが到着していない場合,`No new message'と表示される.
|
Mewでは,Summaryモードで表示するメール番号の範囲を,Rangeを用いて指定できる.
Summaryモードでsを入力すると`Range (update): 'とエコーエリアに表示される.必要なRange(表2.1)を入力し, <RET>を押すと,Summaryの一覧が,指定した範囲で再表示される.この例の場合,何も入力せずに<RET>を押すと,( )の中に囲まれているupdateが選択される.
Summaryモードに表示されている範囲よりさらに古いメールを読みたいときや,逆に比較的新しいメールのみの表示に変える場合には, sを押して,表示するRangeを入力し<RET>を押す.(表2.1参照)指定したRangeの範囲でメールの一覧が再表示される.
|
Mewのメール操作を終了するにはQを押す.すると,エコーエリアに次のように表示されるので,yを押すと,Mewは終了する.
Quit Mew? (y or n)_
メールサーバに新たに到着したメールを受信するにはSummaryモードで iを押す.M-x mewを実行したとき同様`Getting +inbox ...'と表示され,新しいメールが到着している場合はそれらが受信され,一覧に追加される.新たにメールが到着していない場合はエコーエリアに`No new message'と表示される.
Summaryモードでメールの内容を読むには,<SPACE>を押す(図2.3).メールの内容が長い場合はウィンドウに1度にすべての内容を表示できない.メールの続きの部分を表示させるには<SPACE>を押し,前のページに戻るには<BS>を押す.1つのメールの表示から次のメールの表示に移るには<SPACE>かnを,前のメールに戻るには pを押す.
Summaryモードでwを押すと,新規に作成するメールの本文を書くウィンドウが表示される.
To: _ Subject: X-Mailer: Mew version 1.94.1 on Emacs 20.5 / Mule 4.0 (HANANOEN) --
この状態を``Draftモード''と呼ぶ.このモードでは,Emacsでのファイル作成と同様の操作で,メールを作成できる.
なお,以前にメールを送ったことのある相手のアドレスであれば,To:およびCc:フィールドの入力中に,他と区別のつくまで入力中に<TAB>を押すと,残りの部分が補完される.
To: s00000hf Cc: t00000tf Subject: Report_ X-Mailer: Mew version 1.94.1 on Emacs 20.5 / Mule 4.0 (HANANOEN) --
To:,Cc:,Subject:を入力したら, -- の下の行にカーソルを移動して,本文を作成する.
ホームディレクトリの下に.signatureという名前のファイルを作成し,その中に自分の署名を書いておくと,メールを送る前にC-c <TAB>またはC-c C-iを入力することで,その内容をメール本文に付加できる..signatureの内容は,4行程度の簡潔なものにすること.次に.signatureファイルの例を示す.
-=-=-=-=-=-=-=-=-=- Taro Fujisawa Faculty of Environmental Information URL http://www.sfc.keio.ac.jp/ t00000tf
メールの作成を途中で中止するときには,C-c C-qを入力する.エコーエリアに`Kill draft message? (y or n)'と表示される.ここでyを入力すると,Summaryモードに戻る.
Kill draft message? (y or n) _
本文を作成した後,C-c C-mを入力するとヘッダ部分の最後に次に示す3行が加えられる.
Mime-Version: 1.0 Content-Type: Text/Plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit
続けて,C-c C-cを入力すると実際にメールが送信される.
受信したメールに対して返事を書くには,Summaryモードで返信するメール番号にカーソルを合わせ,aを押す.
To:フィールドやCc:フィールドなどのメールヘッダがMewによって自動的に作成され,返信メールを作成する状態(Draftモード)になる(図2.5).このとき,Emacsの画面は3分割され,1番上がSummaryモードのバッファ,中央がメールの内容を表示するMessageモードのバッファ,1番下が返事を書くためのDraftモードのバッファとなる.
Mewでは返信メールを作成する状態で,もとのメールの本文を簡単に引用できる.DraftモードでC-c C-yを入力することで,もとのメールの本文の内容が,各行の先頭に`>'が付加された形で本文に挿入される(図2.5).また,Summaryモードでaを押す代わりにAを押しても同様の効果が得られる.
同様に,Mewでは複数のメールからの引用が簡単に行える.メールの返信を作成する際,画面が3分割されるので,C-x oもしくはマウスでクリックしてSummaryモードにカーソルを移動する.引用するメールを<SPACE>で選択すると,2番目のバッファにそのメールが表示される.その状態でDraftモードのバッファにカーソルを移動してC-c C-yを入力すると,Draftモードのカーソルがある位置に選択されたメールを引用できる.
Mewでは,マルチパートメッセージという種類のメールを扱える.マルチパートメッセージとは,メールに画像ファイルやバイナリファイルなどを独立したパートとして添付したものである.メールの受信者は簡単にそのパート部分を取り出してファイルとして保存,編集などを行える.
ただし,メールを受け取る側が必ずしもマルチパートメッセージを正しく読めるとは限らない.例えば,CNS内部であっても,相手がメールを読むのにMewを使っていなければ,文章以外は正しく表示されず,画像などは無意味な文字列になってしまうことがある.マルチパートメッセージを送る際は,相手がマルチパートメッセージを読める環境にあることを確認してから送ること.
マルチパートメッセージの各パートのデータ形式は,表2.2に示すものが利用できる.データ形式はファイル名の拡張子から自動的に判断される.なお,Image/gifなどのデータの表現形式のことを,Content-Typeと呼ぶ.
SummaryモードでMマークがついているメールは,MIMEのマルチパートメッセージである.次のように表示されているSummary一覧があるとする.
_ 32 05/17 Tarou Fujisawa Re: New Design <<藤沢です.この前の件ですが,どう 33 M05/17 Yoshiko Shonan Re: New Design <<----Next_Part(Sat_Feb__8_13 34 05/17 Hanako Fujisawa Thanks. <<花子です.できたらお願いしたいのですが
ここで,カーソルをMマークがついたメールに移動させて <SPACE>を押すと,マルチパートメッセージの各パートのContent-Typeが表示され,さらに図2.6のようにパート1の内容が下のウィンドウに表示される.
32 05/17 Tarou Fujisawa Re: New Design <<藤沢です.この前の件ですが,どう _ 33 M05/17 Yoshiko Shonan Re: New Design <<----Next_Part(Sat_Feb__8_13: 1 Text/Plain 2 image/jpeg 34 05/17 Hanako Fujisawa Thanks. <<花子です.できたらお願いしたいのですが
さらにもう1度<SPACE>を押すと,この例ではパート2は文章ではなくJPEG形式の画像ファイルなので,Messageモードのバッファに次のように表示される.
###### ###### ####### ##### ###### # # # # # # # # # # # # # # # ## ## # # # # # # # # # # # # # # # ###### ###### # # # #### ###### # # # # # # # # # # # # # # ####### # # # # # # # # # # # # # # # # # # ####### ##### # # # # # # Content-Type: Image/Jpeg Encoding: base64 Size: 98420 bytes Filename: adoguru.jpg Program: xv To execute this external command, type '{C-c C-e'. To save this part, type 'y'. To display this part in Message mode, type 'C-c TAB'. [End of message]
###### ### # # # ###### # # # # # ## # # # # # # # # # # # # # # # # # # # ###### # # # # # # ###### # # # # # # # ####### # # # # # # # ## # # # # # ###### ### # # # # # # # Content-Type: Application/Octet-Stream Encoding: base64 Size: 42957 bytes Filename: list.xls To save this part, type '{y'. To display this part in Message mode, type 'C-c TAB'. [End of message]
これらのパートはファイル名をつけて保存できる.まず,次のように保存したいパートにカーソルがあることを確認する.
32 05/17 Tarou Fujisawa Re: New Design <<藤沢です.この前の件ですが,どう 33 M05/17 Yoshiko Shonan Re: New Design <<----Next_Part(Sat_Feb__8_13 1 Text/Plain _ 2 image/jpeg 34 05/17 Hanako Fujisawa Thanks. <<花子です.できたらお願いしたいのですが
ここでyと押すと,エコーエリアに次のように表示されるので,保存するファイル名を入力する.
File:~/_
マルチパートメッセージを作成するには,Draftモードで本文を入力した後,
C-c C-aを入力する.すると,本文の最後に次の5行が追加される.
------------------------------ attachments ---------------------------- Multipart/Mixed 123/ 1 Text/Plain(guess) CoverPage* 2 ._ --------0-1-2-3-4-5-6-7-8-9--------------------------------------------
添付領域の各行は,パート番号,パートのデータ形式,パートの名前の3つのフィールドからなる.この例では,1行目の123/と表示された行がこのメール全体を表しており,1通のメール全体としてのデータ形式はマルチパートメッセージ形式なので,Multipart/Mixedと表示されている.2行めのCoverPageと表示された行は,さきほど作成した本文領域を意味している.本文領域のデータはテキスト形式なので, Text/Plainと表示されている.
新しくパートを加えるには,一番下のパートの行,この例の場合だと`2 ._' の行の`.'にカーソルを移動し,
cを押す.エコーエリアに`Copy from:~
/'と表示されるので,次のよう新たなパートとして加えるファイルのパスを入力する.
Copy from : ~/image/hanabi.gif_
ファイルのパスを入力し<RET>を押すと,エコーエリアに`Copy to(hanabi.gif) :'と表示される.添付する際のファイル名を入力し<RET> を押す.なお,何も入力せずに<RET>を押した場合は( )内に表示されているファイル名がそのまま入力される
Copy to (hanabi.gif): _
以上の作業を行うと,添付領域の表示が変り図2.7のような画面になる.これでhanabi.gifがパートとして加えられたことになる.同様に,他の文書やプログラムソースなどのファイルも新たなパートとして加えられる.
次に,CNSのホームディレクトリに保存されている,MicrosoftExcelで作成したsample.xlsというファイルをメールに添付して送る例を示す.
まず,メールの本文を作成し,C-c C-aを入力して添付領域を作成する.cを入力してsample.xlsを新しいパートとして追加すると,添付領域が次のような画面になる.
------------------------------ attachments ---------------------------- Multipart/Mixed 8/ 1 Text/Plain(guess) CoverPage* 2 Text/Plain(guess) sample.xls 3 . --------0-1-2-3-4-5-6-7-8-9--------------------------------------------
このままだとsample.xlsがテキストとして認識されてしまっているので,明示的にバイナリファイルとして認識させる必要がある.カーソルをバイナリファイルとして認識させたいパートに移動し,Tを入力するとエコーエリアに`Type for sample.xls(Text/Plain)'と表示されるので,次のようにApplication/Octet-streamと入力する.
Type for sample.xls (Text/Plain): Application/Octet-stream_
sample.xlsのパートのContent-TypeがApplication/Octet-streamに変更され,Base64という方法で符号化(encode)されたことを表すBという英文字がパート番号の前に追加される.
------------------------------ attachments ---------------------------- Multipart/Mixed 8/ 1 Text/Plain(guess) CoverPage* B 2 Application/Octet-Stream sample.xls 3 . --------0-1-2-3-4-5-6-7-8-9--------------------------------------------
ファイルの添付作業が終了したらC-c C-mを入力する.マルチパートメッセージを送信するための情報が挿入されるので,確認した後,C-c C-cを入力する.
本文を書かずにテキスト以外のファイルだけを添付すると,相手にわかりにくい場合もあるので,テキスト以外の形式のファイルをMIMEで送信する際には,本文領域に説明の文章をつけ加えるとよい.
マルチパートメッセージを作成する添付領域では, cを入力して新しくパートを加える以外にも,表2.3に示した操作を行える.操作を行うパートにカーソルを持っていき,キー入力を行う.
|
表2.2および表2.3にあるExternal Bodyとは,実際のデータではなくURLなどのデータへの参照情報のみを持つ.External Bodyを使うことによって,WWW などで公開されているデータへの参照情報のみを1つのパートとして送れる.
CNSのユーザ同士でやりとりするメールであれば,External bodytypeとしてlocal-fileを指定し,そのファイルへの参照情報を送ることで,ファイルそのものを送ることなく受信者はファイルを表示できる.
メールの実際の中身は次のようなファイルの置かれている位置情報だけで,ファイルそのものを送るわけではないが,受信者はMewの中でそのファイルの内容を表示できる.
不要なメールを残しておくことはファイル空間の無駄となるだけでなく,ユーザの利便性の観点からも望ましくない.メールの削除や`リファイル(refile)'による整理を行う必要がある.
リファイルとはホームディレクトリのファイルをディレクトリを作成して整理するように,関連のあるメールを~
/Mailの下にディレクトリを作成して整理することである.ユーザはMewを用いて簡単にリファイルを行える.
Mewでは,Summaryモードで整理する内容に応じてマークを付ける.これをマーキングと呼び,マークには消去,リファイルなどがある.メールを整理するには,まずマーキングを行い,次に実行(eXecute)を意味するxを入力する.
不必要なメールを消去するには,Summaryモードで消したいメール番号にカーソルを移動してdを押す.するとメール番号と日付の間に消去(Delete)を意味するDマークがつき,xを押すとメールが消去される.
29D 04/20 Hanako Fujisawa New Term <<花子です.学校はじまったけど調子 _ 30 04/22 Hanako Fujisawa report <<またまた花子.昨日の玲ちゃんすごかっ 31 04/22 Hanako Fujisawa meeting <<はなぴょんです.来週の打ち合せにつ
xを入力し消去したメールは,実際には~
/Mail/trashディレクトリに移動される.したがって,本当に消去されたわけではない.
消去したメールを完全に削除したい場合,SummaryモードでDを押す.すると,エコーエリアに次のように表示される.
Remove all messages in +trash? (yes or no) _
メールをリファイルするには,Summaryモードでリファイルするメール番号にカーソルを移動し,oを押す.すると,エコーエリアに次のように表示される.
Folder name (+circle): +_
ここで,リファイル先のディレクトリ名をcircleなどのように入力する.このとき,入力したディレクトリが存在しないと,次のように新しいリファイル先ディレクトリを作成するかどうか尋ねられる.
+circle doesn't exist. Create it? (y or n) _
ここでyを入力すると,~
/Mail以下に
circleというディレクトリが作成される.また,リファイル先の名前を入力する際に,(+circle)などのようにFrom:などの値からリファイル先をMewが推測して表示するので,正しいときは
<RET>を押せばよい.
このようにしてリファイルするディレクトリを指定すると,カーソルのあるメールの番号の後にoマークがつく.
31 04/22 Tarou Fujisawa ryuugaku <<気をつけてロンドン行ってきて下さい _ 32o 04/23 Hanako Fujisawa Re: ryuugaku <<私が帰ってくるまで待ってくれな 33 04/23 Hanako Fujisawa Thanks!! <<大きな花束ありがとう.すごく嬉しか
Mewではマーキングを行っても,xを押して処理を実行しない限り,マークを外して処理を取り消すことができる.マークを外すには,マークを外すメール番号にカーソルを移動してuを押す.またUを押すと,メールについている任意のマークをすべて外すことができる.Dマークがついているメールがあり,そのすべてのDマークを外す例を次に示す.
1D 04/20 Hanako Fujisawa New Term <<花子です.学校はじまったけど調子はど _ 2D 04/22 Hanako Fujisawa report <<またまた花子.昨日の玲ちゃんすごかった 3 04/22 Hanako Fujisawa meeting <<はなぴょんです.来週の打ち合せだけど 4D 04/22 Tarou Fujisawa How are you? <<ふじさわ.最近どうよ?
ここでUを入力するとエコーエリアに`Input mark :'と表示されるので,Dを入力する.
Input mark :D_
するとSummaryモードですべてのDマークを外すことができる.
1 04/20 Hanako Fujisawa New Term <<花子です.学校はじまったけど調子はど _ 2 04/22 Hanako Fujisawa report <<またまた花子.昨日の玲ちゃんすごかった 3 04/22 Hanako Fujisawa meeting <<はなぴょんです.来週の打ち合せだけど 4 04/22 Tarou Fujisawa How are you? <<ふじさわ.最近どうよ?
マーキングを行って,実際に消去やリファイルを行うには,eXecute(実行)を意味するxを入力する.一度xを入力すると処理を取り消せないので注意すること.
新着メールが取り込まれるinboxフォルダも,他のフォルダと同様にMailディレクトリの中にディレクトリとして存在している. inboxフォルダは,ユーザが自分で作成しなくてもあらかじめ用意されており,新着メールを読み込む際にはinboxフォルダに読み込まれる.
inboxフォルダからリファイルしたメールを読むには,Summaryモードでgを押す.次のようにフォルダ名の入力を求められるので,リファイルする場合と同様にリファイル先を入力する.
Folder name (+inbox): +_
ユーザのホームディレクトリにはMailというディレクトリがあり,受信したメールはこの中にすべて保存される.例えばユーザt00000tfのcircleにリファイルされた1通目のメールは/home/t00000tf/Mail/circle/1というファイルである.(第1部 2.8)このファイルは普通のテキストファイルなので, moreやcp,mvなどのコマンドで表示,コピー,移動したり,a2psやlprコマンドを使って印刷できる.次にinboxディレクトリの10通目のメールを印刷する例を示す.
% a2ps -p ~/Mail/inbox/10 | lpr -P[プリンタ名]
メールの削除やリファイルを行うと,Summaryモードで表示されるのメール番号に欠番が生じる.1から番号を振り直すにはOを押す.例えば,次のように2, 3, 5, 6番が欠番になっている状態であるとする.
1 04/20 Hanako Fujisawa New Term <<花子です.学校はじまったけど調子はど _ 4 04/22 Hanako Fujisawa report <<またまた花子.昨日の玲ちゃんすごかった 7 04/22 Hanako Fujisawa meeting <<はなぴょんです.来週の打ち合せだけど,
ここでOを入力すると,エコーエリアに次のように表示されるので, yまたは<RET>を入力すると,番号のつけ直しの処理が始まる.
Pack +inbox? (y or n) _
処理が終わるとエコーエリアに`Listing +inbox ... done'と表示され,Summaryが再表示される.
1 04/20 Hanako Fujisawa New Term <<花子です.学校はじまったけど調子はど _ 2 04/22 Hanako Fujisawa report <<またまた花子.昨日の玲ちゃんすごかった 3 04/22 Hanako Fujisawa meeting <<はなぴょんです.来週の打ち合せだけど,
この際,Dマークやoマークがついていたメールに関しては,xを入力したとき同様に削除やリファイルが実行された後で番号がつけ直される.
Mewでは,メールの送信者や宛先,Subjectなどの条件によってメールを検索できる.検索に利用できる条件を表2.4に示す.
Summaryモードで/を入力すると,エコーエリアに次のようなメッセージが表示されるので,検索対象とするディレクトリを入力する.
Folder name (+inbox): +_
例えば,ディレクトリinboxの中にあるログイン名s00000hfのユーザからのメールを検索するには,まずinboxと入力する.するとエコーエリアに次のように表示される.
pick pattern: _
ここでfromやto,cc,subjectなどの検索対象(表2.4)と検索の条件値を次のように入力する.なお,検索対象の入力では,入力途中で<TAB>を押すことで残りの部分が補完される.
pick pattern: from=s00000hf_
検索条件を入力し<RET>を押すと検索処理がはじまる.エコーエリアに`Picking message in +inbox ...'という検索中であることを示すメッセージが表示された後,検索条件に一致したメールの一覧が表示される.他のメールも表示し直すにはsを入力し,Summaryの再表示を行う.(第1部 2.2.1).次に条件を組み合わせて検索する例を2つ示す.1つ目の例はFrom:
フィールドにs00000hfを含み,かつSubjectに
reportを含むメールを検索している.
Summaryモードで/を入力し検索対象とするディレクトリを入力した後,次のように入力すると実際にメールの検索が行われ,検索結果の一覧が表示される.
pick pattern: from=s00000hf & subject=report_
2つ目の例はTo:フィールド,または Cc:フィールドにs00000hfを含み,かつ, From:フィールドにt00000tfを含むメールを検索している.
Summaryモードで/を入力し検索対象とするディレクトリを入力した後,次のように入力する.
pick pattern: (to=s00000hf | cc=s00000hf) & from=t00000tf_
|
Mewでは複数のフォルダからメールを検索し,仮想フォルダと呼ばれるEmacs上のバッファに検索結果を表示できる.複数のフォルダからメールを検索するには,SummaryモードでVを入力する.次に仮想フォルダ名の入力を求められるので,エコーエリアに任意の文字列を入力する.単に<RET>を押すと,仮想フォルダ名は`++virtual'になる.
Virtual folder name (virtual): _
次に検索する単数,または複数のフォルダ名を入力する.複数のフォルダを入力する場合は,次の例のように`,'で区切る.またフォルダ名に`*'を指定すると,すべてのフォルダから検索できる.
Folder name (+inbox): +inbox,+circle,+class_
フォルダ名を入力し<RET>を押すと次のように表示されるので,検索条件を入力する.
pattern :} _
すると,指定した複数のディレクトから検索条件に一致したメールが仮想フォルダに集められ,Summaryモードで表示される.仮想フォルダはSummaryモードでは,oマークによるリファイル,Dマークによる消去,検索はできない.