前回は、エディタ mule の使い方を習い、 ファイル ~/public_html/index.html の中に文章をある “文法”に従って書くとそれがホームページとして見える、 ということを学びました。 この授業では、このように 「こういう方法でこういうファイルを作るとこういうことが起こる」 「こういう方法で作ったファイルに対してこういう操作をするとこういうことが起こる」 といったかたちで実習を進めてゆこうと思っています。
……と思ったのですが、 今回は「とにかくこうやればメールが読み書きできる」という方法を学びます。 そうでないとなかなかメールまで到達しそうにないので。
※ 実習用 WS では、「!!」とすると直前のコマンドがくり返される。 たとえば、mule を終了した直後にまた同じファイルを mule でエディットするときは 「mule index.html」のようにしなくても「!!」でよろしい。 こういう便利なのはまだまだあるんだけど、 いっぺんに教えると混乱するかと思って教えなかったのだ。
電子メール、略してメール(Mail)とは、コンピュータの間でやりとりする手紙のようなものです。 現在では広く普及し、コンピュータをメールだけのために使っている人もいるぐらいですので、 メール送受信を行なうソフトウェアはいろいろな種類のものが出回わっています。 ここでは比較的素朴なやり方を説明します。
WS には「メールボックス(mailbox)」と呼ばれるところがあります。 それは、WS が各ユーザ宛のメールをためておくところ、と思ってください。 あるしかけにより、ユーザ宛のメールは到着するとここにたまります。
※ 実はそれは /var/mail にある自分のユーザ名と同じ名前のファイルなのだが、 絶対にこのファイルを変更してはならない。 エディタで読むだけならよいが、絶対に保存してはいけない。 心配な人は cat や more するだけのほうがよいだろう。
メールを読むには、 以下に説明する方法でそこから自分のファイルにメールを移して読みます。 また、メールを送るには、原稿をファイル内に作成しておいてから送ります。
それらの作業は一つのディレクトリで行なったほうがいいと思うので、 パーミッション 700 で ~/mail というサブディレクトリをつくっておいてください。 メールはその中の mbox という名前のファイルに移すことにします。 mbox というのはよく使われる名前です。mailbox の短縮形だと思います。 そして mbox の日本語コードを日本語 EUC に変換したものを mbox.euc という名前のファイルに格納し、 それを読むことにします。
メールボックスから自分のファイルにメールを移すには、次のようにします。 まずカレントディレクトリを ~/mail に移しましょう。 次に unix のプロンプトが出ているところで「Mail」と打ちます。 mail というコマンドもあるので大文字小文字に注意してください。 すると、もしメールが到着していれば次のようになります。
ws47{eb00d48}2% Mail mailx version 5.0 Thu May 2 21:00:21 PDT 1996 コマンドの概要については ? をタイ プしてください。 "/var/mail/eb00d48": 2 個のメッセージがあります。 2 個新規。 >N 1 iwase@mailedu2.ipc Wed Nov 4 17:40 16/516 a test N 2 eb00d48@mailedu2.i Wed Nov 4 17:41 16/524 hello! ?
ここでは2通のメールが到着しています。 差出人のアドレス(の先頭部分)、日時、メールの大きさ、サブジェクト(の先頭部分) が表示されています。 これらについてはあとで説明します。
「?」は Mail コマンドの中でのプロンプトです。 「s * mbox」と打って Enter を押すと
? s * mbox "mbox" [New file] 32/1040 ?のようになります。これでメールボックスから mbox に新着メールがコピーされました。 もしもファイル mbox がすでに存在するときは [New file] の代わりに [Appended] と表示されます。 この「アペンド(append)」というのは「終わりにくっつける」ぐらいの意味です。 コンピュータではよく使われるので覚えておいてください。 いまの場合、[Appended] と出たらファイル mbox のすでにあった内容の後ろに新着メールが追加されたことになります。 パーミッションの関係などで書き込みに失敗するとこれ以外のメッセージが出ます。
書き込みあるいはアペンドに成功したら「q」と打って Enter を押し、 unix のプロンプトにもどります。
? q ws47{eb00d48}3%
そして、「nkf -e mbox > mbox.euc」を実行してください。
ws47{eb00d48}4% nkf -e mbox > mbox.euc ws47{eb00d48}5%
これで mbox のコードを日本語 EUC コードに変換したものがファイル mbox.euc に収まりました。 (このあたりのくわしいことは来週以降説明します。)
もし書き込みあるいはアペンドに失敗してやり直したいときは「x」 を打って Enter です。 そうすればメールボックスは元のままです。
? x ws47{eb00d48}3%
もしもメールが到着していなければ
ws47{eb00d48}9% Mail eb00d48 宛てのメールはありません。 ws47{eb00d48}10%となって Mail コマンドはただちに終了します。
mbox.euc は普通のファイルなので、mule などで読むことができます。 新しいメールは後ろに追加されているので、 「ESC >」 でファイルの最後にジャンプしてからもどったほうがいいかもしれません。 また、mule の終了時にセーブしないよう注意したほうがよいでしょう。
From eb00d48@mailedu2.ipc.kanazawa-u.ac.jp Thu Nov 5 16:24 JST 1998 Received: (from eb00d48@localhost) by ws47.ipc.kanazawa-u.ac.jp (8.8.8+2.7Wbeta7/3.6W/KAINS-1.2) id QAA2310 9; Thu, 5 Nov 1998 16:24:13 +0900 (JST) Date: Thu, 5 Nov 1998 16:24:13 +0900 (JST) From: eb00d48 <eb00d48@mailedu2.ipc.kanazawa-u.ac.jp> Message-Id: <199811050724.QAA23109@ws47.ipc.kanazawa-u.ac.jp> To: eb00d48@mailedu2.ipc.kanazawa-u.ac.jp Subject: this is a test. Cc: iwase@mailedu2.ipc.kanazawa-u.ac.jp Content-Type: text Content-Length: 29 これはテストです。 岩瀬順一
「From」行は差出人と差出日時を示していますが、 その先の「Date:」行と「From:」行を見るほうが確実なようです。
「Received:」行はメールがどこを経由して着いたかを示していますが、 普段は気にする必要はありません。
「Date:」行は差出日時を示しています。 最後の「JST」は日本標準時の意。 外国からメールがくることもあります。
「From:」行は差出人を示します。 「< >」に囲まれた中味が正式なメールアドレスです。 ユーザ ID の後ろに「@mailedu2.ipc.kanazawa-u.ac.jp」 がついているのがわかるでしょう。 実習用 ID の間でメールをやりとりする場合はユーザ ID だけでもよいのですが、 外部とメールをやりとりする場合は正式なメールアドレスでなければなりません。 なお、「mailedu2」は実習用メール送受信を受けもっている WS の名前、 「ipc」は「情報処理センター」、「kanazawa-u」は「金沢大学」、 「ac」は「アカデミック」、「jp」は「日本」を意味しています。
「Message-Id:」はメール一つ一つにつけられた全世界で unique な文字列です。 これも普段は気にする必要はないでしょう。
「To:」はこのメールの宛て先。
「Subject:」は「サブジェクト(subject)」 といってメールにつけられた題名のようなもの。
「Cc:」は「カーボンコピー(carbon copy)」の送り先です。
※ 「To:」の行に書かれた宛名も「Cc:」の行に書かれた宛名も、 メールが送られるという点では全く違いはない。 しかし、前者はメールの本来の送り先、 後者は参考までに送った送り先、というニュアンスの違いがあるようである。 なお、 カーボンコピーというのはタイプライタで手紙を打っていた時代にカーボン紙を使って写しを作っていたことに由来する名称である。
「Content-Type」「Content-Length」の2行は私にはわかりません。 そこまでが「ヘッダ」と呼ばれる部分で、次に空行がきて、その次からが本文です。
次のような形式のファイルを作りましょう。 ここではこのファイルの名前を test としておきます。
~t eb00d49 ~c eb00d48 ~s this is a test. これはテストです。 岩瀬順一最初の三行の行頭にある文字はタイピング練習をするときの 「~iwase/tx」の最初の文字です。 この三行の「~」は必ず行の最初になければなりません。
「~t」の後ろに宛て先、すなわち送りたい相手のユーザ ID を打ちます。 複数の人に送る場合は
~t eb00d49 eb00d50のようにスペースで区切って。もっと多くなったら
~t eb00d49 eb00d50 eb00d51 eb00d52 eb00d53 eb00d54 eb00d55 eb00d56 eb00d57 ~t eb00d58 eb00d59のように行を分けて、複数の行が「~t」で始まっても構いません。 (うんと多くなると問題が生じることもあるみたいです。 また、画面上の一行の4分の3ぐらいで改行するように、 と前に言いましたがこういう場合は例外。 画面上の一行にはいるだけいれたほうがいいでしょう。)
「~c」の後ろにはカーボンコピーの送り先を書きます。 ここには自分の ID を含めるのが普通です。 そうすれば自分にもカーボンコピーが送られてくるので、 自分の出したメールの控えをとっておくことができます。
「~s」の後ろにはサブジェクトを書きます。 これはメール一覧の右のほうに表示されるのでした。 いわゆる日本語は使えないので、ローマ字を使うか、 英語・ラテン語などで書きます。不要ならばこの行は省略できます。
そのあとは本文です。 その前の行との間が空いていませんが、 メールとして送ると自動的に一行空きますので、空けないほうがいいと思います。 本文には好きなことを書いていいのですが、 行頭には「~」を書いてはいけません。 どうしても書きたければ書く方法はあるんだけれど、 きょうのところは「書けない」としておきます。 また、本文は画面上の一行の4分の3ぐらいで改行をいれるほうがいいでしょう。 そして、最後には自分の名前を書くのが普通です。 受けとった人がアドレスだけから差出人がわかるとはかぎりませんから。 また、間違った相手にメールが送られてしまった場合のことも考えれば、 本文の最初に受取人への呼びかけを書いておくほうがいいかもしれません。
書きあがったらエディタを終了し、 「nkf -j test | Mail ""」としてください。 「|」はシフトしながら「\」を打ちます。 最後の「""」はシフトしながら「2」を続けて二つ打ちます。 これでメールが送れました。
もしも自分にもカーボンコピーを送ったなら、 しばらくするとそれが送られてくるはずです。 確認したらファイル test は消してしまってかまいません。
※ もしも MAILER-DAEMON からメールがきていたら、 メール配信にエラーがあった可能性がある。 そのメールを読んで原因を調べよう。 最もありがちなのは宛て先の書き間違いである。
ここで、友だちどうしでメールを送りあってみてください。 内容は自由ですが、読んだ人が不愉快に思うことは書かないこと。 また、第三者の悪口もやめましょう。 何かのはずみでその人がその文章を見ないとも限りませんから。
メールは私の実習用 ID eb00d48 に送ってくれてもいいです。 時間があったら返事を書きます。
タイピング練習をしようと総合情報処理センターへ行ってみても第一および第三実習室は授業でふさがっていることが多いみたいで、 第四実習室で練習できないかと相談されたので、 とりあえずタイピング練習をする方法だけ説明します。
第四実習室のマシンが、いままで telnet でログインして使っていた ws?? です。 本体の電源ははいりっぱなしですから、ディスプレイの電源だけいれてください。 すると「ws?? console login:」と出ますからここで WS のユーザ ID を入れ Enter, 「Password:」と出たら WS のパスワードを入れて Enter です。 しばらく待つと OpenWindows と呼ばれるものが画面に出てきます。
そうしたらウィンドウのない地の部分でマウスの右ボタンを押しながら 「プログラム」を右へ。そして「シェルツール...」でボタンを離します。 そこで出てくるのがシェルツールです。 その中でいつものように「~iwase/tx」とすればタイピング練習が始まります。 (最上段のメッセージ表示がちょっとヘンですね。そのうち直します。)
OpenWindows を終了するときは、 ウィンドウのない地の部分でマウスの右ボタンを押しながら 「終了...」を選び、あとは画面の指示にしたがってください。 しばらくしてまた「ws?? console login:」 の画面になったらディスプレイの電源を切ってください。