次: , 前: Rmail Deletion, 上: Rmail


25.5 rmailファイルとinbox

オペレーティングシステムは、inboxと呼ばれるファイルに 到着したメイルを格納します。 rmailを起動すると、movemailと呼ばれるCプログラムが走り、 inboxから主rmailファイルへ新着メッセージをコピーします。 ただし、主rmailファイルには、以前のrmailセッションで保存したメッセージも 入っています。 実際にrmailで読むメイルはこのファイルの中にあるのです。 この操作を、新着メイルの取得といいます。 rmail内でgと打てば、いつでも新着メイルを取得できます。

変数rmail-primary-inbox-listには、 主rmailファイルのinboxとなるファイルのリストを格納します。 この変数を明示的に設定しなければ、 環境変数MAILで初期化するか、あるいは、 最後の手段として、デフォルトのinboxを使うことを意味する nilに設定します。 デフォルトのinboxはオペレーティングシステムに依存して、 /var/mail/username/usr/spool/mail/username/usr/mail/usernameになります。

システムのデフォルトを調べるには、 C-h v rmail-primary-inbox <RET>を使います。 コマンドset-rmail-inbox-listで、 任意のrmailファイルに対して使うinboxファイルを指定できます。 Rmail Filesを参照してください。

rmailファイルとinboxに分ける理由は2つあります。

  1. inboxのファイル形式は、オペレーティングシステムや 使用するメイルソフトに依存して異なる。 rmailの一部分だけが違いを知っていればよく、 しかも、rmail独自の形式への変換方法だけを知っていればよい。
  2. メイル紛失という危険を犯さずにinboxを参照するのはたいへん厄介である。 というのは、メイル配送プログラムと相互排除を行う必要があるから。 さらに、オペレーティングシステムごとに相互排除の手法が異なる。 いったんinboxからメイルを取り出し、あとは別のrmailファイルを使う方式では、 rmailファイルしか扱わないのでrmailの各所で相互排除する必要がなくなる。

rmailでは独自の内部形式(Babyl形式)を使っています。 当初からUNIXやGNUシステムの普通のinbox形式で十分であると気づいていて、 inbox形式を内部形式として使おうと計画しています。 しかし、たとえファイルの形式が同一であっても、 rmailファイルはinboxファイルとは独立して存在し続けるでしょう。