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

第 7 章 メールの使い方

SunOS には、電子メール (email) の送受信に使われる mailx というプログラムがあります。mailx を使って、メッセージの読み取りと書き込み、送信と受信、および保存と削除ができます。mailx プログラムはウィンドウベースではないため、任意の端末上で実行できます。ウィンドウベースのメールのほうが好まれるかもしれませんが、簡単なメッセージを急いで送信する場合は、mailx プログラムのほうが便利です。ユーザ専用のメールエイリアスを設定する場合も、この章を参照してください。


注 –

ウィンドウ環境でメール・プログラムのアイコンが画面に表示されている場合は、メール・プログラムを終了してからこの章の例を実行してください。終了しないと、2 つのメールプロセスが有効になるため、エラーメッセージや警告が出されることがあります。メール・プログラムのウィンドウ内では正常にメッセージの送受信ができます。しかし、メールを読み取ったあとでメッセージを保存したり削除すると、受信箱が影響を受けるため、メール・プログラムの混乱の原因になります。


mailx の基本

この節では、mailx の基本作業を行う方法について説明します。この章の後半では、このプログラムを効率良く使う上で役立つ機能と特徴について説明します。

メールの受信者のログイン名とマシン名は、mailx プログラム用の一意のアドレスとして使われます。メールの受信者が送信者と同じマシン上にいる場合は、ログイン名だけ分かれば十分です。各ユーザは、メールを受信するためのメールボックスを持っています。通常、このメールボックスは /var/mail/username ディレクトリ (username は各ユーザのログイン名) にあります。

メールが受信されると mailx プログラムはその旨をユーザに知らせ、メールボックスにメールを収納します。

mailx の起動

mailx を起動するには、プロンプトに対して次のコマンドを入力し、Return キーを押します。


$ mailx

メールボックスにメールがない場合は、次のようなメッセージが画面に表示されます。


username  宛のメールはありません。

username は、各ユーザのログイン名です。

自分宛てにメッセージを送信する

mailx の機能を試すには、まず最初に自分自身にメッセージを送信してみましょう。プロンプトに対して mailx コマンドをもう一度入力しますが、今回は自分のアドレス (ログイン名とマシン名) も指定します。たとえば、ログイン名が rose でマシン名が texas の場合、アドレスは rose@texas となります。(@ シンボルは「at」の意味)。ローカルネットワーク上でのログイン名を使うこともできます (疑問点についてはシステム管理者に問い合わせてください)。


$ mailx rose@texas

mailx プログラムは、Subject: という行を表示します。


$ mailx rose@texas
Subject:

ここで、メッセージの内容を説明する表題を入力して、Return キーを押します。次に、メッセージの本文を入力します。行の長さは短くおさえて、各行の終わりで Return キー を押します (Return キーを押すならば、Back Space キーで後退して再入力することによって文を修正できます)。

メッセージのサンプルを下記に示します (空白行は、Return キーで作成したものです)。


$ mailx rose@texas
Subject: to someone who really cares

Dear Rosey,

From the ends of your fingers
To the tip of your nose
You're a cool breeze in August
My sweet Texas Rose.


See you soon,

Rose

メッセージを送信するには、メッセージの最終行で Return キーを押してから Ctrl-D を押します。メッセージが送信されると、コマンドプロンプトの状態に戻ります。

自分宛てのメッセージの読み方

自分宛てのメッセージを読むには、mailx コマンドをもう一度入力します。画面に以下のようなメッセージが表示されます。


$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Type ? for help.
“/var/mail/rose”: 2 messages 1 new
 U  2 hal@uncertain   Fri Feb 14 12:01   14/318 financial status
>N  1 rose@texas      Mon Feb 17 08:12   21/453 to someone who 
?

最初の行には実行中の mail のバージョンが表示され、2 行目には到着するメールが収納されるメールボックス (通常は /var/mail/username にある) の場所が表示されます。この例では 3 行目に、自分に送ったメッセージに関する情報が表示されています。行の先頭の「N」(new を表す) は、これが「新しい」メッセージであることを示します。「U」(unread を表す) は、新しいメッセージが到着したのに、前回 mailx プログラムを実行したときには読まれなかったことを意味します (この画面の内容については、メッセージの読み方で詳しく説明します)。

各メッセージには、受信時に番号が割り当てられます。ユーザ rose の自分宛てのメッセージには、1 というメール番号が付いています。

メッセージを読むには、次に示すように、mailx プロンプトでメッセージ番号を入力します。


$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Type ? for help.
“/var/mail/rose”: 1 message 1 new
>N  1 rose@texas   Fri Jul 14 12:01 21/453 to someone who
? 1

To: rose@texas
From: rose@texas
Subject: to someone who really cares

Dear Rose,

From the ends of your fingers
To the tip of your nose
You're a cool breeze in August
My sweet Texas Rose.


See you soon,

Rose

?

mailx の終了

mailx を使い終えたら、 q (quit) または x (exit) コマンドのどちらかを入力してプログラムを終了できます。

mailx プロンプトで q と入力して Return キーを押すと、次のようなメッセージが表示されます。


< ...> 個のメッセージを var/mail/username に継続して保存しました。

home_directory は、ホームディレクトリのパス名です。

mailx プロンプトに対して q と入力して mailx を終了した場合、mailx は読み終わったメッセージをメールボックスから削除してホームディレクトリ内の mbox ファイルに保存します。メールを変更したり削除した場合は、その内容も保存されます。

mailx プロンプトに対して x と入力して Return キーを押した場合、読み終わったメッセージは mbox ファイルに移動されず、変更や削除の内容も保存されません。

メッセージの読み方

メッセージが存在する場合、ユーザがログインするたびに mailx は次のどちらかのメッセージを表示してその旨を知らせます。

You have mail

または、

You have new mail

メッセージを読むには、コマンドプロンプトに対して mailx と入力し、Return キーを押します。メールがない場合は、次のメッセージが表示されます。

username 宛のメールはありません。

メールがある場合は、次のようなリストが表示されます。


$ mailx
Mail version 4.0 Thu Jan 16 12:59:09 PST 1992  Type ? for help.
“/var/mail/rose”: 4 messages 1 new 2 unread
    1 rose@texas        Fri Feb 14 12:01 21/453 to someone who
 U  2 hank@fretful      Fri Feb 14 18:31 19/353 so lonely I
 U  3 farmer@freeway    Sat Feb 15 10:22 24/557 looks like my
>N  4 hoover@woofer     Sun Feb 16 23:59 14/280 big old furry

?

最初の行には、mailx プログラム自身に関する情報 (バージョン番号と日付) とヘルプの参照方法 (Type ? for help) が表示されます。

次の行には、メールボックスの場所、受信されたメッセージの数とその状態が表示されます。

その次の行には、メールボックス内のメッセージが番号付きで表示されます。各行のカラムの内容は、左から右に以下のとおりです。

メールボックス内のメッセージが複数存在する場合は、このリストにすべてのメールが表示されないこともあります。その場合は、次のように入力します。

メールボックス内の最新のメッセージ (> 付きで表示されたもの) を参照するには、Return キーを押します。Return キーをもう一度押すと、次のメッセージが表示されます。リスト内の任意のメッセージを参照するには、その番号を入力して Return キーを押します。

メッセージの削除と削除の取り消し

メッセージを読み終えたら、mbox ファイルに保存しないで削除することもできます。デフォルトでは、mailx プログラムの終了時に mbox ファイルに保存されます。

読み終わった最後のメッセージを削除するには、mailx プロンプトに対して d と入力します。メールボックスから特定のメッセージを削除するには、次のコマンドを実行します。

d number

たとえば、2 番目のメッセージを削除するには、mailx プログラム内から次のコマンドを実行します。


? d 2

一度に複数のメッセージを削除することもできます。1 番目と3 番目のメッセージを削除するには、次のコマンドを実行します。


? d 1 3

一定範囲のメッセージを削除することもできます。たとえば 1 〜 3 番目のメッセージを削除するには、次のコマンドを実行します。


? d 1-3

mailx を終了する前なら、メールボックスから削除したメッセージを復元 (削除の取り消し) できます。次の形式のコマンドを入力します。

u number

続いて、Return キーを押します。たとえば、2 番目のメッセージを復元するには、次のコマンドを実行します。


? u 2

前回の削除コマンドを取り消すには、削除した直後に mailx プロンプトに対して u と入力します。たとえば、前回の削除コマンドが d 2-5 の場合は、u と入力すると 2 〜 5 番目のメールの削除が取り消されます。

q コマンドで mailx を終了すると、すべての削除操作が確定されます。つまり、削除したメッセージを復元することはできなくなります。ただし、x コマンドで mailx を終了すればメールボックスを以前の状態に保つことができます。前述のように、x コマンドで mailx を終了すると、読み終わったメッセージでも U が付けられて表示され、削除したメッセージも削除されなかったことになります。

メッセージの印刷

メッセージをプリンタコマンドにパイプすることによって、メッセージを印刷できます。メッセージの印刷には、mailx プロンプトに対して次の形式のコマンドを実行します。

|number lp

| 記号はパイプと呼ばれます。 たとえば、2 番目のメッセージを印刷するには、次のように入力します。


? |2 lp

続いて、Return キーを押します。メッセージの番号が指定されない場合は、現在のメッセージがプリンタにパイプされます。パイプについての詳細は、第 2 章「ログインと基本的な SunOS コマンドの使用」コマンド出力のリダイレクトとパイプを参照してください。

メッセージの送信

mailx プログラムを使ってメールを送信する場合は、メッセージの受信者のログイン名が必要です。受信者が別のマシン上にいる場合は、そのユーザのマシン名も必要になります。これらの情報を調べるために、whofingerrusers などのコマンドを使うことができます。

ファイルサーバに現在ログインしている全ユーザのリストを表示するには、who コマンドを入力します。このリストには、ユーザのログイン名、その端末の型、ログインした日付と時間が表示されます。次に例を示します。


$ who
    elmer      tty15        Feb 20 10:22
    susan      tty04        Feb 20 10:37
    stormy     tty07        Feb 20 11:49
    hankw      tty06        Feb 20 12:02

who コマンドと同様の情報を詳しく表示するには、finger コマンドを入力します。システム管理者によるこのコマンドの設定状態によって、表示される情報の内容は異なります。たとえば、次のような情報が表示されます。


$ finger
    Login     Name           TTY      Idle     When
    elmer     Elmer Brown    tty15     43      Thu 10:22
    susan     Susan Lake     tty04             Thu 10:37
    stormy    Stormy Ball    tty07     12      Thu 11:49
    hankw     Hank Wilson    tty06     22      Thu 12:02

rusers コマンドを入力すると、ローカルネットワークに現在ログインしているユーザに関する情報が表示されます。rusers コマンドの使い方についての詳細は、第 9 章「ネットワークの使い方」を参照してください。

必要なユーザ情報を確認できたら、次の手順に従ってメッセージを送信します。

  1. mailx コマンドのあとに続けてユーザのアドレスを入力します。


    $ mailx user@machine
    

    user は受信者のログイン名、machine は受信者のマシン名です。

    • mailx プログラムをすでに起動している場合は、mailx プロンプトに対して m のあとに受信者のログイン名とマシン名を @ で区切って入力します。


      m user@machine
      
    • 同じメッセージを複数の受信者に送信する場合は、次の例のように各アドレスをスペースかコンマで区切ります。


      $ mailx hank@fretful sally@dakota tex@twister
      

      または、


      $ mailx hank@fretful,sally@dakota,tex@twister
      
  2. Return キーを押すと、mailx プログラムはメッセージの表題を入力するよう subject: と表示してくるので、表題を入力してもう一度 Return キーを押します。

  3. メッセージの本文を入力します。改行する場合は、Return キーを押します。

    画面上で文が複数行に渡って表示されていても、Return キーを押していなければ改行したとは見なされません。


    注 –

    メッセージの各行のテキストの最大長は 256 文字です。この制限を超えると、画面が動かなくなります。その場合は、Ctrl-C を押してメッセージの入力を中止してください。


  4. メッセージの入力が終わったら、Return キーを押して改行します。次に、Ctrl-D を押してメッセージを送信します。

送信できないメッセージ

メッセージを送信するときに正しくないユーザアドレスを指定すると、システムの応答として次のようなメッセージが表示されます。

user@machine...User unknown

この場合、メッセージはメールボックスに戻されます。次回、mailx コマンドを入力したときに、次のように表示されてメールが届かなかった旨が知らされます。


N 1 Mailer-Daemon Fri Jan 3 11:13 8/49 Returned mail: User unknown

また、メッセージが届かない場合は、ホームディレクトリ内の dead.letter というファイルにそのメッセージがコピーされます。

送信しないメッセージの取り消し

送信前ならば Ctrl-C を 2 回押すことによって、メッセージの入力を取り消すことができます。

カーボンコピーとブラインドカーボンコピーの追加

メッセージを送信する前に、「カーボンコピー」を To: で指定した受信者以外に送信するよう指定できます。また、「ブラインドカーボンコピー」も送信できます。この指定では、メッセージの受信者はカーボンコピーの宛先アドレスを読み取ることができますが、ブラインドカーボンコピーのアドレスは読み取れません。

自分自身にカーボンコピーやブラインドカーボンコピーを送信すれば、独自の記録として送信したメールのコピーを保管できます。

メッセージと一緒にカーボンコピーを送信するには、次の 3 つの方法があります。


~c hank@fretful george@lonesome stormy@snoozer

メッセージやファイルのコピーを挿入する

メールボックス内にある任意のメッセージのコピーを現在作成中のメッセージに挿入することができます。同様に、任意のテキストファイルのコピーも挿入できます。

メッセージの挿入

メッセージの本文作成中に他のメッセージを挿入するには、次の形式のコマンドを使います。


~m number

number は、挿入するメッセージの番号です。たとえば、メールボックスの 3 番目のメッセージのコピーを取り込んで新規のメッセージを作成し、それをほかのユーザに送信する場合は、次の手順を実行します。

  1. メールの本文作成中に改行してから ~m 3 というコマンドを入力し、Return キーを押します。

    mailx により、次のメッセージが表示されます。


    「メッセージ挿入」 3 (continue)
    

  2. 送信者の画面には 3 番目のメールの内容は表示されませんが、受信者の画面には表示されます。(続く) のあとに続けてメッセージを入力するか、あるいは取り込んだコピーをそのまま送信します。

  3. 取り込んだコピーも含めたメッセージ全体を表示するには、~p コマンドを入力します。

ファイルの挿入

メッセージの本文作成中に任意のテキストファイルのコピーを挿入することもできます。この場合、次の形式のコマンドを入力します。


~r filename

たとえば、現在作成中のメッセージに outline というファイルを挿入するには、次のように入力します。


?~r outline

メッセージへ応答する

メールに返事を出すには、mailx プロンプトに対して次のコマンドを入力します。

r number

メッセージの番号を入力しないと、現在のメッセージへの応答となります。

たとえば、2 番目のメッセージの送信者に応答するには、次のコマンドを入力します。


? r 2

mailx は自動的に応答先のアドレスを指定し、Re: Subject:という行を表示します。この行には応答するメッセージの Subject: 行の内容が表示されます。この応答メッセージは、通常のメッセージと同様に送信できます。

R コマンドは r コマンドの変形で、送信者だけでなく、応答するメッセージの受信者全員に対しても応答を送ります。不必要なメールが作成されるのを防ぐため、このコマンドは本当に必要な場合にだけ使うようにしてください。


注 –

前節で説明したのと同様の方法で、応答にもメッセージのコピーを挿入できます。応答するメッセージのコピーを挿入するには、メッセージの番号を指定しないで ~m コマンドを実行します。


メールの保存と読み取り

メッセージの送受信のほかに、メッセージを保存しておき、そのメッセージをあとで読むことができます。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 を起動したなかで最後に使用したフォルダに戻るには、次のように入力します。


? #

mailx での vi の使い方

mailx の実行中に vi テキストエディタを使ってメッセージを作成できます。このエディタにより、メッセージを送信する前にテキストの追加や削除、誤りの修正などができます。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。

mailx プログラムでは、vi の標準的なコマンドを使ってテキストの挿入、削除、変更ができます。

vi を使ってメッセージを作成するには、次の手順に従います。

  1. mailx プロンプト (?) で m の後にアドレスを指定するか、コマンドプロンプトでアドレスを指定した mailx コマンドを入力します。

  2. Subject: 行に表題を入力して、Return キーを押します。

  3. 改行してから ~v コマンドを入力して vi を起動します。

    vi の画面に /tmp ディレクトリ内の空ファイルが表示されます。

  4. vi のコマンドを使ってメッセージの本文を入力し編集します。

  5. 編集が完了したところで、:wq Return キーまたは ZZ コマンドで vi を終了します。

    vi を終了すると、mailx によって (続く): というメッセージが表示されます。この時点で、(vi を使用せずに) メッセージに何か書き加えることも、Ctrl-D を押してメッセージを送信することもできます。

メールエイリアス

メールエイリアスとは、単一の名前によってまとめられたユーザ名の集合です。

メッセージを同一のユーザグループに繰り返し送信する場合は、メールエイリアスを使うと便利です。たとえば、hank@fretfulgeorge@lonesomesally@dakota に頻繁に送信する場合は、amigos というメールエイリアスを作成できます。それ以降 amigos 宛てにメールを送信すると、この 3 ユーザがすべてそのメールを受信することになります。

メールエイリアスは、次の2 箇所で設定できます。

.mailrc ファイルで設定されたメールエイリアスと /etc/aliases ファイルで設定されたメールエイリアスとでは、その働きが異なります。それらの相違点は、この節の終わりにある表 7–1 にまとめてあります。

.mailrc ファイルでメールエイリアスを設定する

.mailrc ファイルでメールエイリアスを設定する場合は、次の点に注意してください。

.mailrc ファイルは、各ユーザのホームディレクトリ内にあります。このファイルには、mailx とメールツールの動作を制御する設定がいくつか入っています。

.mailrc にメールエイリアスを追加するには、次のように入力します。


$ vi ~/.mailrc    

注 –

.mailrc ファイルの編集には任意のテキストエディタを使えます。上記の例は、vi エディタを使って編集する方法を示しています。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。


各メールエイリアスは、.mailrc ファイル内で 1 行ごとに記述されています。つまり、複数の行に渡っていても、途中にキャリッジリターンが入っていることはありません。各メールエイリアスには、以下の情報をスペースで区切って記述しなければなりません。

次の例は、2 つのメールエイリアスを示しています。最初のエイリアス (amigos) には 3 ユーザ、2 番目のエイリアス (softball) には 8 ユーザが含まれています。softball の行では、名前が画面上では複数行に渡って表示されていますが、Return キーが入力されていない限り問題はありません。


alias amigos hank@fretful george@lonesome sally@dakota
alias softball earl@woofer tex@twister elmer@farmhouse
jane@freeway hank@fretful jj@walker sally@dakota steve@hardway

.mailrc ファイル内のエイリアスに含まれるユーザにメールを送信する場合は、そのメールエイリアスをアドレスに指定し、マシン名は指定しないようにします。たとえば、次のメッセージを送信したとします。


$ mail amigos
Subject: Let's eat

Hey Compadres. How about
getting together for lunch on Friday?
Anyone interested?

受信者は、次のようなメールを受け取ります。To: の行が展開されていることに注意してください。


To: hank@fretful george@lonesome sally@dakota
Subject: Let's eat

Hey Compadres. How about getting together for lunch on Friday?
Anyone interested?

/etc/aliases でメールエイリアスを設定する

/etc/aliases ファイルでメールエイリアスを設定する場合は、次の点に注意してください。

/etc/aliases に作成されるメールエイリアスの形式は、.mailrc の形式とは若干異なります。 /etc/aliases 内の各エイリアスは、次の形式でなければなりません。

/etc/aliases ファイルを変更するには、最初に root ユーザになる必要があります。root がパスワードで保護されている場合は、root のパスワードが必要です。

次のコマンドを入力してシステムの root ユーザになります。


$ su
Password:
#

root ユーザになるとコマンドプロンプトが変わることに注意してください。

次の例は、メールエイリアス softball@texas をデフォルトの /etc/aliases ファイルに追加する方法を示しています。


# vi /etc/aliases     
##
#Aliases can have any mix of upper and lower case on the left-
#hand side,
#but the right-hand side should be proper case (usually lower)
#
#>>>>>>>>>>The program “newaliases” will need to be run after
#>> NOTE>>this file is updated for any changes to
#>>>>>>>>>>show through to sendmail.
#
#@(#)aliases 1.10 89/01/20 SMI
##
# Following alias is required by the mail protocol, RFC 822
# Set it to the address of a HUMAN who deals with this system's
mail problems.
Postmaster: root

# Alias for mailer daemon; returned messages from our MAILER-
DAEMON
# should be routed to our local Postmaster.
MAILER-DAEMON: postmaster

# Aliases to handle mail to programs or files, eg news or vacation
# decode: “|/usr/bin/uudecode”
nobody: /dev/null

# Sample aliases:
# Alias for distribution list, members specified here:
#staff:wnj,mosher,sam,ecc,mckusick,sklower,olson,rwh@ernie

# Alias for distribution list, members specified elsewhere:
#keyboards: :include:/usr/jfarrell/keyboards.list

# Alias for a person, so they can receive mail by several names:
#epa:eric

#######################
# Local aliases below #
#######################
softball@texas: earl@woofer
tex@twister elmer@farmhouse
jane@freeway hank@fretful jj@walker sally@dakota steve@hardway
:wq         (vi を終了して /etc/aliases ファイルを保存する)
# exit      (root ユーザを終了する)
$

/etc/aliases ファイルの編集には任意のテキストエディタを使えます。上記の例は、vi エディタを使って編集する方法を示しています。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。

/etc/aliase ファイル内のポンド記号 (#) は、そのあとのテキストやエイリアスの例が注釈であることを示しています。先頭にポンド記号が付いた行の情報は、実際のエイリアスとしては処理されません。

意図的にエイリアスを使わないようにする場合以外は、このファイルに追加するエイリアスの前にはポンド記号を付けないでください。

/etc/aliases 内のエイリアスに含まれるユーザに対してメールを送信する場合は、そのエイリアスとマシン名をメールのアドレスとして指定します。たとえば、次のメールを送信したとします。


$ mail softball@texas
Subject: Practice Today

Let's meet at the diamond
behind Building 4 after work tonight.
Goodness knows we can use the practice for Saturday's game! Be
there as early as you can.

受信者は、次のようなメールを受け取ります。


To: softball@texas
Subject: Practice Today

Let's meet at the diamond behind Building 4 after work tonight.
Goodness knows we can use the practice for Saturday's game! Be
there as early as you can.

To: の行が展開されていないことに注意してください。

/etc/aliases で設定されたメールエイリアスを使ってメールを送信する場合は、そのエイリアスが設定されているマシン名を必ず指定します。たとえば、マシン freeway 上で riders というメールエイリアスを設定した場合は、riders@freeway と指定してメールを送信しなければなりません。

.mailrc で設定されたメールエイリアスと /etc/aliases で設定されたメールエイリアスとの相違点を表 7-1 にまとめます。

表 7–1 .mailrc/etc/aliases のメールエイリアス比較

 

.mailrc

/etc/aliases

変更するために root になる必要性

なし 

あり 

メッセージを送信するときのアドレス 

alias

alias@machinename

To: 行と Cc: 行で受信者の一覧がつくか 

付く 

付かない 

名前をコンマで区切るか 

区切らない 

区切る 

すべての名前を 1 行内に記述するか 

する 

しない 

他のユーザがメールエイリアスを使えるか  

使えない 

使える 

メールエイリアスについての詳細は、システムプロンプトに対して man aliases または man addresses と入力してマニュアルページを参照してください。

チルドコマンド

メッセージの作成中に、チルドコマンドを使ってさまざまな機能を実行できます。通常、チルドコマンドはチルド文字 (~) のあとに 1 文字を付けたものです。次の表 7–2 では、便利なチルドコマンドをいくつか説明しています。これらのコマンドの一部はすでにこの章で紹介したものです。


注 –

メッセージにチルド文字そのものを使いたい場合は、チルド文字を 2 つ入力します。これによりチルド文字が 1 つだけ表示されます。


表 7–2 チルドコマンド (mailx)

コマンド名 

説明 

~!command

シェルコマンドを実行する 

~.

ファイルの終わりを示すCtrl-D と同じ機能 

~?

チルドコマンドの概要を表示する 

~b username

ブラインドカーボンコピー (Bcc:) のリストにユーザ名を追加する 

~c username

カーボンコピー (Cc:) のリストにユーザ名を追加する 

~d

dead.letter ファイルの内容を現在作成中のメッセージに読み込む

~f number

 

指定されたメッセージを送信する。メールの読み取り中にメッセージを送信する場合のみ有効 

~h

見出し行のプロンプト (Subject:、To:、Cc:、Bcc:) を表示する 

~m number

 

現在作成中のメッセージに、指定されたメッセージを挿入する。メールの読み取り中にメッセージを送信する場合のみ有効 

~p

入力中のメッセージを画面に表示する 

~q

Ctrl-C を 2 回押すのと同じ機能。作成中のメッセージ本文が空でない場合は、その内容が dead.letter ファイルに保存される

~r filename

指定されたファイルを読み込む 

~s string

表題の行 (Subject:) を string に変更する

~t name

指定された名前を To: リストに追加する 

~w filename

現在作成中のメッセージから見出し行を取り除いたものを指定されたファイルに書き込む 

~x

mailx を終了する。メッセージが dead.letter ファイルに保存されない点以外は ~q と同じ

ヘルプコマンド: その他の mailx コマンド

mailx には、コマンドとその機能のリストを表示するヘルプコマンドが 2 種類あります。コマンドモードで使われるコマンドのリストを参照するには、mailx プロンプト (?) に対して ? を入力します。同様に、入力モード (メッセージの作成中など) では、同等のコマンドである ~? を入力すれば、チルドコマンド (チルドエスケープとも呼ばれる) のリストを参照できます。

マニュアルページでは、mailx コマンドをより技術的に詳しく説明しています。mailx のマニュアルページを参照するには、次のコマンドを入力します。


$ man mailx

詳細は、『manpages section 1 : User Commands』を参照してください。