Solaris ユーザーズガイド (上級編)

メールの保存と読み取り

メッセージの送受信のほかに、メッセージを保存しておき、そのメッセージをあとで読むことができます。mailx では、通常のテキストファイルにメッセージを追加することによってメッセージを保存できます。また、フォルダと呼ばれる特殊ファイルにメッセージを追加することもできます。これらの方法について次に説明します。

mailx では、メッセージの保存とメッセージのコピーは区別されます。メッセージを保存すると、そのメッセージはメールボックスから削除されてファイルやフォルダに追加されます。一方、メッセージをコピーすると、メッセージはメールボックス内に残り、そのコピーがファイルやフォルダに追加されます

メッセージをファイルに保存およびコピーする

メッセージをファイルに保存するには、mailx プロンプトに対して次の形式のコマンドを実行します。


s number filename

number は保存するメッセージの番号、filename はメッセージが保存されるファイル名です。たとえば、3 番目のメッセージを ~/notes/finance というファイルに保存するには、次のように入力します。


? s 3 ~/notes/finance

パス名中の ~ は、各ユーザのホームディレクトリを示します。

複数のメッセージを一度に同じファイルに保存することもできます。たとえば、3 、5 、6 、7 、8 番目のメッセージを~/notes/finance に保存するには、次のように入力します。


? s 3 5-8 ~/notes/finance

指定したファイルが存在しない場合は、mailx によって作成されます。ファイルが存在する場合は、保存するメッセージはファイルの終わりに追加されます。

メッセージをファイルに保存すると、そのメールはメールボックスから削除されます。この場合は、保存されたメッセージの見出しにアスタリスク (*) が表示されます。

3 番目のメールをメールボックスに残したまま別のファイルに追加 (コピー) する場合は、次のように copy コマンドを入力します。


? c 3 ~/notes/finance

メッセージをフォルダに保存およびコピーする

メールフォルダにメッセージを保存またはコピーする場合は、ファイルの絶対パス名を指定する必要はありません。フォルダは、フォルダディレクトリに保管されている特殊ファイルです。

フォルダにメッセージを保存またはコピーすると、同じディレクトリ内にメッセージが自動的に保管され、長いパス名を入力しなくてもそのディレクトリに簡単にアクセスできます。

フォルダディレクトリの設定

フォルダを使うには、まず最初にフォルダディレクトリ (フォルダ用のディレクトリ) を設定する必要があります。この設定には次の作業を行います。

  1. mkdir コマンドを使ってディレクトリを作成します。

    たとえば、Messages というフォルダディレクトリを設定するには、次のようなディレクトリを作成します。


    $ mkdir Messages
    
  2. フォルダディレクトリのパスを設定するために、テキストエディタを使ってホームディレクトリ内の .mailrc ファイル (mailx オプションが入っている) を編集します。

    次の例のように、新しく作成したフォルダディレクトリの絶対パス名を指定するために、folder 変数を編集します。次に例を示します。


    set folder=/home/austin/rose/Messages
    

    C シェルの短縮名である ~ を使ってホームディレクトリを指定することもできます。


    set folder=~/Messages
    

これでフォルダディレクトリは、フォルダに保存されるメッセージを受け取るよう設定されます。.mailrc ファイルの変更内容は、次回 mailx を起動したときに有効になります。

フォルダの指定

フォルダにメッセージを保存またはコピーするときは、ファイルの場合と同じコマンドを使います。ただし、フォルダ名の前にはパス名の代わりにプラス記号 (+) を付けます。+ は、フォルダをフォルダディレクトリ (ここでは Messages) に保存するよう mailx に指示します。

たとえば、3 番目のメッセージを projects というフォルダに保存するには、次のように入力します。


$s 3 +projects

mailx は、このコマンドを「3 番目のメールを ~/Messages/projects に保存する」という意味に解釈します。指定のフォルダが存在しない場合は、mailx によって作成されます。

メッセージをフォルダにコピーする場合は、次のように入力します。


$c 3 +projects

ファイルやフォルダにメッセージを直接送信する方法

メッセージのコピーは、任意のファイルやフォルダに直接送信できます。フォルダにコピーを送信する場合は、Cc: プロンプトまたは Bcc: プロンプトに対してフォルダ名 (たとえば、projects) を入力するだけです。ファイルにコピーを送信する場合も同様ですが、ファイルの絶対パス名を指定する必要があります。

ファイルやフォルダ内のメッセージを読み取る

ファイル内に保存されたメッセージを読み取るには、次の形式のコマンドを使います。


mailx -f filename

上記の例では、~/memos/finance ファイル内のメッセージを読み取るには、次のように入力します。


$ mailx -f ~/memos/finance

フォルダに保存されたメッセージを読み取る場合も同じコマンドを使います。その場合は、絶対パス名の代わりに + 記号を使います。たとえば、projects フォルダ内のメッセージを読み取るには、次のように入力します。


$ mailx -f +projects

このコマンドは、指定されたファイルやフォルダに対してmailx を起動し、それらのファイルやフォルダ内に存在するメッセージの見出しを表示します。読み取るメッセージを選択するには、mailx プロンプトに対してメッセージの番号を入力し、Return キーを押します。

mailx プログラム内からもフォルダを操作できます。フォルダのリストを参照するには、mailx プロンプトに対して次のコマンドを入力します。


? folders

メールボックスからフォルダに切り換えるには、次の形式のコマンドを使います。


? folder +foldername

メールボックスに戻るには、mailx プロンプトに対して次のコマンドを入力します。


? %

mailx を起動したなかで最後に使用したフォルダに戻るには、次のように入力します。


? #