Go to the first, previous, next, last section, table of contents.

Rmailとインボックス

Unixはインボックス(inbox)と呼ばれるファイルに,やってきたメイルを入れ ます.Rmailを起動すると,Rmailはインボックス内の新しいメッセージをRmail ファイルであるプライマリーメイルファイル(以前のRmailセッションでセーブさ れた他のメッセージも含まれている)へコピーします.実際にRmailで読むメイル はこちらのファイルの中にあります.この操作は,"新しいメイルの入手"とい います.Rmail内でgキーを使うと,いつでもこの操作を繰り返すことがで きます.インボックスファイルの名前は,バークレイUnixでは `/usr/spool/mail/username',system Vでは `/usr/mail/username'です.

Rmailファイルとインボックスを分けておくのは次の2つの理由からです.

  1. Unixがメイルをインボックスへ書き込むときの形式は,Rmailのメイル保管に適 していません.属性(`deleted'など)や利用者指定ラベルを記録する方法が ない,古いヘッダと整形されたヘッダを記録する方法がない,内部のサマリ情報 を記録する方法がない,などの問題があります.
  2. メイルを失う危険を犯さずにインボックスファイルにアクセスするのは大変厄介 です.というのは,メイルの配達と連動しなければならないからです.さらに, Unixシステムによって,連動のテクニックも異なります.一度メイルをインボッ クスから別のRmailファイルに移すことにすれば,Rmailは連動の必要がなくなり ます.RmailはRmailファイルだけを操作するからです.

新しいメイルを入手するときには,Rmailはまず最初にインボックスファイル からRmailファイルへ新しいメイルをコピーします.メイルは,Rmailファイルに 保持され,このあとインボックスファイルは消去されます.このようにすれば, システムがダウンしても,インボックスとRmailファイルにメイルが重複するか もしれませんが,失われることはありません.

システムのメイルのインボックスからメイルをコピーするとき,実際はそれを 中間ファイル`~/.newmail'に置きます.これは他のファイルへコピーするC プログラムで内部的にロックされるためです.メイルのコピーが成功したあと `~/.newmail'は消去されます.運の悪いときにシステムクラッシュが起き ても,このファイルは残って次に新しいメイルを取り込むときインボックスとし て働きます.


Go to the first, previous, next, last section, table of contents.