Next: , Previous: , Up: Rmail   [Contents][Index]


33.7 外部ファイルへのメッセージのコピー

以下はRmailファイルから他のファイルにメッセージをコピーするコマンドです。

o file RET

カレントメッセージの完全なコピーを、ファイルfileに追加します(rmail-output)。

C-o file RET

カレントメッセージの表示にしたがい、ファイルfileに追加します(rmail-output-as-seen)。

w file RET

メッセージの本文だけをファイルfileに出力します。デフォルトのファイル名は、そのメッセージの‘Subject’ヘッダーからとられます。

コマンドoC-oはカレントメッセージを指定したファイルの後尾に追加することによりコピーします。正のプレフィクス引数は繰り返し回数として振る舞います。カレントメッセージから開始して削除済みメッセージを無視しつつ後続のメッセージをその個数分コピーします。

2つのコマンドの主な違いは、どれだけコピーするかです。C-oが現在表示されているヘッダーだけをコピーするのにたいし、oはヘッダーがすべて表示されていなくても、メッセージヘッダーを完全にコピーします。Rmail Displayを参照してください。加えて、ファイルがBabylフォーマットのとき、oはメッセージをBabylフォーマットに変換しますが、C-oはBabylファイルを出力できません。

Emacsバッファーで出力ファイルをvisitしていた場合、出力コマンドはメッセージをそのバッファーに追加します。最終的にそのバッファーをファイルに保存するかは、あなた次第です。

本文にファイル内容がそのまま記載されているようなメッセージを受信することがあるかもしれません。そのような場合、w (rmail-output-body-to-file)コマンドで、本文を(メッセージヘッダーを除いて)ファイルに保存できます。そのようなメッセージは‘Subject’フィールドにファイル名を意図した内容を含んでいる場合があるので、wコマンドは(ファイル名に可搬的に使用できないいくつかの文字を置換した後)デフォルトの出力ファイル名に‘Subject’フィールドを使用します。しかし、ファイル名はミニバッファーを使って読み取られるので、異なる名前を指定できます。

メニューからRmailファイルを選択して、メッセージを出力することもできます。メニューClassifyの、メニューアイテムOutput Rmail Fileを選択して、出力したいRmailファイルを選択します。これはoコマンドのように、カレントメッセージをそのファイルに出力します。変数rmail-secondary-file-directoryおよびrmail-secondary-file-regexpは、メニューがどのファイルを表示するかを指定します。最初の変数はファイルを探すディレクトリーを指定し、2番目の変数はそのディレクトリーのどのファイル(正規表現にマッチするファイルすべて)を表示するかを指定します。マッチするファイルがない場合、このメニューアイテムは選択できません。

oまたはC-oでメッセージをコピーすることにより、メッセージのオリジナルコピーには属性‘filed’が与えられるので、そのメッセージがカレントのときは、モードラインに‘filed’が表示されます。

各メールメッセージにたいして1つのコピーを保持したい場合は、変数rmail-delete-after-outputtをセットします。その場合、コマンドoC-oおよびwは、コピー後にオリジナルのメッセージを削除します(望むなら後で削除を取り消すことができる。Rmail Deletionを参照されたい)。

デフォルトではoは出力したメッセージの削除ステータスを元メッセージのままに留めます。したがって出力される前に削除済みのメッセージは出力ファイル中に削除済みとして現われます。変数rmail-output-reset-deleted-flagを非nil値にセットすることによりこれを回避できます。メッセージのコピーは削除ステータスがリセットされるので出力ファイル中には未削除として現れます。さらにこの変数が非niloに正の引数を指定すると、後続メッセージから出力メッセージを探す際に削除済みメッセージを無視しなくなります。

変数rmail-output-file-alistは、カレントメッセージの内容にもとづいて、理にかなったデフォルトの出力ファイルを指定できます。値は以下の形式をもつ要素のリストです:

(regexp . name-exp)

カレントメッセージにregexpにたいするマッチが存在する場合、デフォルトの出力ファイルはname-expになります。複数の要素がそのメッセージにマッチする場合、最初にマッチした要素がデフォルトのファイル名を決定します。式name-expは使用するファイル名を与える文字列定数、またはより一般的に、ファイル名を文字列として取得する任意のLisp式を指定できます。rmail-output-file-alistは、oC-oの両方に適用されます。

Rmailは、(rmail-file-nameで指定される)プライマリーRmailファイルから、(変数rmail-automatic-folder-directivesの値にもとづいて)他のファイルにメッセージを自動的に保存できます。この変数は、どのメッセージをどこに保存するかを指定する要素(‘directives’)のリストです。各directiveは出力ファイルからなるリストで、ヘッダー名と正規表現の組が1つ以上後に続きます。メッセージのヘッダーが指定された正規表現にマッチする場合、そのメッセージは与えられたファイルに保存されます。directiveが複数のヘッダーエントリーをもつ場合、それらすべてがマッチしなければなりません。Rmailはファイルrmail-file-nameからメッセージを表示するときdirectiveをチェックして、(もしあれば)最初のマッチに適用します。出力ファイルがnilの場合、そのメッセージは削除され、保存されません。たとえば特定のアドレスや、特定のsubjectのメッセージを保存するのに、この機能を使用することができます。