SunOS には、電子メール (email) の送受信に使われる mailx というプログラムがあります。mailx を使って、メッセージの読み取りと書き込み、送信と受信、および保存と削除ができます。mailx プログラムはウィンドウベースではないため、任意の端末上で実行できます。ウィンドウベースのメールのほうが好まれるかもしれませんが、簡単なメッセージを急いで送信する場合は、mailx プログラムのほうが便利です。ユーザ専用のメールエイリアスを設定する場合も、この章を参照してください。
OpenWindows 環境でメールツールのアイコンが画面に表示されている場合は、メールツールを終了してからこの章の例を実行してください。メールツールを終了しないと、2 つのメールプロセスが有効になるため、エラーメッセージや警告が出されることがあります。コマンドツールやシェルツールのウィンドウ内では正常にメッセージの送受信ができます。しかし、メールを読み取った後でメッセージを保存したり削除すると、受信箱の「トレイ」が影響を受けるため、メールツールの混乱の原因になります。
この節では、mailx を使うために最低限必要なことについて説明します。この章の後半では、mailx プログラムを効率よく使うための機能と特徴について説明します。
メールの受信者のログイン名とマシン名は、mailx プログラム用の一意のアドレスとして使われます。メールの受信者が送信者と同じマシン上にいる場合は、ログイン名だけ分かれば十分です。各ユーザは、メールを受信するためのメールボックスを持っています。通常、このメールボックスは /var/mail/username ディレクトリ (username は各ユーザのログイン名) にあります。
メールが受信されると mailx プログラムはその旨をユーザに知らせ、メールボックスにメールを収納します。ユーザがメールを読んだ後、mailx はそれらのメールを自動的に mbox という記録ファイルに格納します。mbox ファイルは、ユーザのホームディレクトリにあります。
mailx を起動するには、プロンプトに対して次のコマンドを入力し、Return キーを押します。
$ mailx |
メールボックスにメールがない場合は、次のようなメッセージが画面に表示されます。
No mail for 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 コマンドをもう一度入力します。画面に以下のようなメッセージが表示されます。
最初の行には実行中の mail のバージョンが表示され、2 行目には到着するメールが収納されるメールボックス (通常は /var/mail/username にある) の場所が表示されます。この例では 3 行目に、自分に送ったメールに関する情報が表示されています。行の先頭の「N」(new を表す) は、これが「新しい」メールであることを示します。「U」(unread を表す) は、新しいメールが到着したのに、前回 mailx プログラムを実行したときには読まれなかったことを意味します。(この画面の内容については、「メールの読み方」で詳しく説明します。) 各メールには、受信時に番号が割り当てられます。
ユーザ rose の自分宛てのメールには、1 というメール番号が付いています。
メールを読むには、アンパサンド (&) で示される mailx プロンプトに対して次のようにメールの番号を入力します。
mailx を使い終えたら、q (quit) または x (exit) コマンドのどちらかを入力してプログラムを終了できます。
今回の例では、mailx プロンプトに対して q と入力して Return キーを押します。
& q |
すると、次のようなメッセージが表示されます。
Saved one message in home_directory/mbox.
home_directory は、ホームディレクトリのパス名です。
mailx プロンプトに対して q と入力して mailx を終了した場合、mailx は読み終わったメールをメールボックスから削除してホームディレクトリ内の mbox ファイルに保存します。メールを変更したり削除した場合は、その内容も保存されます。
& x |
mailx プロンプトに対して x と入力して Return キーを押した場合、読み終わったメールは mbox ファイルに移動されず、変更や削除の内容も保存されません。
メールが存在する場合、ユーザがログインするたびに mailx は次のどちらかのメッセージを表示してその旨を知らせます。
You have mail
または
You have new mail
メールを読むには、コマンドプロンプトに対して mailx と入力し、Return キーを押します。メールがない場合は、次のメッセージが表示されます。
No mail for username
最初の行には、mailx プログラム自身に関する情報 (バージョン番号と日付) とヘルプの参照方法 (Type ? for help) が表示されます。
次の行には、メールボックスの場所、受信されたメールの数とその状態が表示されます。
その次の行には、メールボックス内のメールが番号付きで表示されます。各行のカラムの内容は、左から右に以下のとおりです。
状態: メールの状態を新規 (N)、読まれていない (U)、読まれた (記号なし) で示します。行の先頭にある「>」は、最新のメールを示します。削除されたメールは、アスタリスク (*) が付いて表示されます。
番号: メールが受信された順序を示します。
送信者: メールを送信したユーザ名 (および通常はマシン名も) を示します。
時間: メールが送信された日付と時刻を示します。
サイズ: メールの行数およびバイト数を示します。
表題: 送信者が subject: 行で入力したメールの表題が表示されます。
メールボックス内のメールの数が多い場合は、このリストにすべてのメールが表示されないこともあります。その場合は、次のように入力します。
z (メールの見出しリストの次の 1 画面を表示)
h- (メールの見出しリストの前の 1 画面を表示)
h (任意の時点でメールの見出しリストを再表示)
メールボックス内の最新のメール (> 付きで表示されたもの) を参照するには、Return キーを押します。Return キーをもう一度押すと、次のメールが表示されます。リスト内の任意のメールを参照するには、その番号を入力して Return キーを押します。
メールを読み終えたら、mbox ファイルに保存しないで削除することもできます (デフォルトでは、q コマンドで mailx プログラムを終了すると mbox に保存されます)。
読み終わった最後のメールを削除するには、mailx プロンプトに対して d と入力します。メールボックスから特定のメールを削除するには、次のコマンドを実行します。
d number
たとえば、2 番目のメールを削除するには、mailx プログラム内から次のコマンドを実行します。
& d 2 |
一度に複数のメールを削除することもできます。1 番目と 3 番目のメールを削除するには、次のコマンドを実行します。
& d 1 3 |
一定範囲のメールを削除することもできます。たとえば 1 〜 3 番目のメールを削除するには、次のコマンドを実行します。
& d 1-3 |
mailx を終了する前なら、メールボックスから削除したメールを復元 (削除の取り消し) できます。次の形式のコマンドを入力して Return キーを押します。
u number
たとえば、2 番目のメールを復元するには、次のコマンドを実行します。
& u 2 |
前回の削除コマンドを取り消すには、削除した直後に mailx プロンプトに対して u と入力します。たとえば、前回の削除コマンドが d 2-5 の場合は、u と入力すると 2 〜 5 番目のメールの削除が取り消されます。
q コマンドで mailx を終了すると、すべての削除操作が確定されます。つまり、削除したメールを復元することはできなくなります。ただし、x コマンドで mailx を終了すればメールボックスを以前の状態に保つことができます。前述のように、x コマンドで mailx を終了すると、読み終わったメールでも U が付けられて表示され、削除したメールも削除されなかったことになります。
メールをプリンタコマンドにパイプすることによって、メールを印刷できます。メールの印刷には、mailx プロンプトに対して次の形式のコマンドを実行します。
|number lp
| シンボルはパイプと呼ばれます。たとえば、2 番目のメールを印刷するには、次のように入力して Return キーを押します。
& |2 lp |
メールの番号が指定されない場合は、現在のメールがプリンタにパイプされます。パイプについての詳細は、第 2 章「SunOS の基本コマンド」の 「コマンド出力のリダイレクトとパイプ」を参照してください。
mailx プログラムを使ってメールを送信する場合は、メールの受信者のログイン名が必要です。受信者が別のマシン上にいる場合は、そのユーザのマシン名も必要になります。これらの情報を調べるために、who、finger、rusers などのコマンドを使うことができます。
who コマンドを入力すると、ファイルサーバに現在ログインしている全ユーザのリストが表示されます。このリストには、ユーザのログイン名、その端末の型、ログインした日付と時間が表示されます。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 |
finger コマンドを入力すると、who コマンドと同様の情報がより詳細に表示されます。システム管理者によるこのコマンドの設定状態によって、表示される情報の内容は異なります。たとえば、次のような情報が表示されます。
$ 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 章「ネットワークの使い方」を参照してください。
必要なユーザ情報を確認できたら、次の手順に従ってメールを送信します。
mailx コマンドの後に続けてユーザのアドレスを入力します。
$ mailx user@machine |
user は受信者のログイン名、machine は受信者のマシン名です。
Return キーを押すと、mailx プログラムはメールの表題を入力するよう subject: と表示してくるので、表題を入力してもう一度 Return キーを押します。
メールの本文を入力します。改行する場合は、Return キーを押します。
画面上で文が複数行に渡って表示されていても、Return キーを押していなければ改行したとは見なされません。
メールの各行のテキストの最大長は 256 文字です。この制限を超えると、画面が動かなくなります。その場合は、Ctrl-C を 2 回押してメールの入力を中止してください。
メールを送信するときに正しくないユーザアドレスを指定すると、システムの応答として次のようなメッセージが表示され、メールはメールボックスに戻されます。
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 つの方法があります。
あらかじめテキストエディタを使ってホームディレクトリ内の .mailrc ファイルを編集し、次の行を挿入します。
set askcc |
mailx プログラムは、表題の入力 (Subject:) プロンプトの下にカーボンコピープロンプト (Cc:) を表示するので、カーボンコピーの宛先となるユーザのアドレスを入力します。宛先が複数の場合は、アドレスをスペースまたはコンマで区切ります。
メールの本文を入力した後 Ctrl-D を押す前に Return キーを押して改行し、次のコマンドを実行します。
‾c address(es)
この方法によって 1 人または複数の受信者にカーボンコピーを送信する場合は、次の例のように各受信者のアドレスをスペースで区切ります。
‾c hank@fretful george@lonesome stormy@snoozer |
Cc: プロンプトは、‾h コマンドでも表示できます。‾h コマンドは、メールのすべての見出し行を表示します。つまり 1 行ずつ、 To:、Subject:、Cc:、Bcc: (ブラインドカーボンコピー) というプロンプトがすべて表示されます。その際に、各空白行は入力することができ、その入力した内容を修正することもできます。他のチルドコマンドと同様に、メールの本文作成中は常に改行してから ‾h コマンドを実行してください。
‾c、‾h などのチルドコマンドについての詳細は、この章で後述の 「チルドコマンド」を参照してください。
メールボックス内にある任意のメールのコピーを現在作成中のメールに挿入することができます。同様に、任意のテキストファイルのコピーも挿入できます。
メールの本文作成中に他のメールを挿入するには、次の形式のコマンドを使います。
‾m number
number は、挿入するメールの番号です。たとえば、メールボックスの 3 番目のメールのコピーを取り込んで新規のメールを作成し、それを他のユーザに送信する場合は、次の手順を実行します。
メールの本文作成中に改行してから ‾m 3 というコマンドを入力し、Return キーを押します。
Interpolating: 3 (continue) というメッセージが mailx によって表示されます。
送信者の画面には 3 番目のメールの内容は表示されませんが、受信者の画面には表示されます。(continue) の後に続けてメールを入力するか、取り込んだコピーをそのまま送信します。
取り込んだコピーも含めたメール全体を表示するには、‾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 |
フォルダにメールを保存またはコピーする場合は、ファイルのようなフルパス名を指定する必要はありません。フォルダは、フォルダディレクトリに保管されている特殊ファイルです。
フォルダにメールを保存またはコピーすると、同じディレクトリ内にメールが自動的に保管され、長いパス名を入力しなくてもそのディレクトリに簡単にアクセスできます。
フォルダを使うには、まず最初にフォルダディレクトリ (フォルダ用のディレクトリ) を設定する必要があります。(フォルダディレクトリは通常、ホームディレクトリ内に設定します。) このため以下の 2 つの手順を実行します。
最初に、mkdir コマンドを使ってディレクトリを作成します。
たとえば、Letters というフォルダディレクトリを設定するには、次のようなディレクトリを作成します。
$ mkdir Letters |
次に、フォルダディレクトリのパスを設定するために、テキストエディタを使ってホームディレクトリ内の .mailrc ファイルを編集します。.mailrc ファイルには、mailx で使われるオプションが入っています。
次の例のように、新しく作成したフォルダディレクトリのフルパス名を指定するために、set folder
変数を編集します。
set folder=/home/austin/rose/Letters |
C シェルの短縮名である ‾ を使ってホームディレクトリを指定することもできます。
set folder=‾/Letters |
これでフォルダディレクトリは、フォルダに保存されるメールを受け取るよう設定されます。(.mailrc ファイルの変更内容は、次回 mailx を起動したときに有効になります。)
フォルダにメールを保存またはコピーするときは、ファイルの場合と同じコマンドを使います。ただし、フォルダ名の前にはパス名の代わりにプラス記号 (+) を付けます。+ は、フォルダをフォルダディレクトリ (ここでは Letters) に保存するよう mailx に指示します。
たとえば、3 番目のメールを projects というフォルダに保存するには、次のように入力します。
& s 3 +projects |
mailx は、このコマンドを「3 番目のメールを ‾/Letters/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 テキストエディタを使ってメールを作成できます。これにより、メールを送信する前にテキストの追加や削除、誤りの修正などができるようになります。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。
mailx プログラムでは、vi の標準的なコマンドを使ってテキストの挿入、削除、変更ができます。
vi を使ってメールを作成するには、次の手順に従います。
mailx プロンプト (&) またはコマンドプロンプト ($) に対して、アドレスを指定した mailx コマンドを実行します。
Subject: 行に表題を入力して、Return キーを押します。
改行してから ‾v コマンドを実行して vi を起動します。vi の画面に /tmp ディレクトリ内の空ファイルが表示されます。
vi のコマンドを使ってメールの本文を入力し編集します。
編集が完了したら、:wq Return キーまたは ZZ コマンドで vi を終了します。
vi を終了すると、mailx によって (continue): というメッセージが表示されます。ここで、vi を使わずにメールに何か書き加えるか、または Ctrl-D を押してメールを送信します。
メールエイリアスとは、単一の名前によってまとめられたユーザ名の集合です。
メールを同一のユーザグループに繰り返し送信する場合は、メールエイリアスを使うと便利です。たとえば、 hank@fretful、george@lonesome、 sally@dakota という 3 ユーザに頻繁にメールを送信する場合は、amigos というメールエイリアスを作成できます。それ以降 amigos 宛てにメールを送信すると、この 3 ユーザがすべてそのメールを受信することになります。
メールエイリアスは、次の 2 箇所で設定できます。
.mailrc ファイル
/etc/aliases ファイル
.mailrc ファイルで設定されたメールエイリアスと /etc/aliases ファイルで設定されたメールエイリアスとでは、その働きが異なります。それらの相違点は、この節の終わりにある表 7-1 にまとめてあります。
.mailrc ファイルでメールエイリアスを設定する場合は、次の点に注意してください。
.mailrc 内のメールエイリアスはユーザ専用です。つまり、そのエイリアスを使えるのは、それを設定したユーザ自身に限られます。たとえば、あるユーザが .mailrc ファイル内で設定した amigos というメールエイリアスに対して他のユーザがメールを送信しようとすると、「unknown user」というエラーメッセージが出力されます。
メールが送信されると、.mailrc 内のメールエイリアスはそれが示す全ユーザ名に自動的に展開されます。たとえば、amigos にメールを送信すると、そのメールは amigos 内の全ユーザ名を受信者として指定した場合とまったく同様に送信されます。受信者側からは、メールの送信にメールエイリアスが使われたかどうかはわかりません。
.mailrc ファイルは、各ユーザのホームディレクトリ内にあります。このファイルには、mailx とメールツールの動作を制御する多数の設定が入っています。
.mailrc にメールエイリアスを追加するには、次のように入力します。
$ vi ‾/.mailrc |
.mailrc ファイルの編集には任意のテキストエディタを使えます。上記の例は、vi エディタを使って編集する方法を示しています。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。
各メールエイリアスは、.mailrc ファイル内で 1 行ごとに記述されています。つまり、複数の行に渡っていても、途中にキャリッジリターンが入っていることはありません。各メールエイリアスには、以下の情報をスペースで区切って記述しなければなりません。
「alias」というワード
メールエイリアスの名前 (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 内で softball というメールエイリアスを設定すれば、全ユーザがこのエイリアスを利用して softball@your-machinename 宛てにメールを送信できます。
メールが送信されても、/etc/aliases 内のメールエイリアスは展開されません。たとえば、softball@machinename にメールを送信すると、エイリアスは展開されずそのままの形で受信されます。受信者側には、メールエイリアスの名前は分かりますが、そのエイリアスに含まれる他のユーザ名は分かりません。
/etc/aliases で作成されるメールエイリアスの形式は、.mailrc の形式とは若干異なります。/etc/aliases 内の各エイリアスは、次の形式でなければなりません。
メールエイリアスの名前とその後のコロン (:)
コンマで区切った受信者 (ログイン名とマシン名)。メールエイリアスの指定は複数行に渡ってもかまいません。
/etc/aliases ファイルを変更するには、最初に root ユーザになる必要があります。root がパスワードで保護されている場合は、root のパスワードが必要です。
次のコマンドを入力してシステムの root ユーザになります。
$ su Password: # |
root ユーザになるとコマンドプロンプトが変わることに注意してください。
次の例は、メールエイリアス softball@texas をデフォルトの /etc/aliases ファイルに追加する方法を示しています。
/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 つだけ表示されます。
コマンド |
機能 |
---|---|
‾!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 には、コマンドとその機能のリストを表示するヘルプコマンドが 2 種類あります。コマンドモードで使われるコマンドのリストを参照するには、mailx プロンプト (&) に対して ? を入力します。同様に、入力モード (メールの作成中など) では、同等のコマンドである ‾? を入力すれば、チルドコマンド (チルドエスケープとも呼ばれる) のリストを参照できます。
マニュアルページでは、mailx コマンドをより技術的に詳しく説明しています。mailx のマニュアルページを参照するには、次のコマンドを入力します。
$ man mailx |
または、『SunOS リファレンスマニュアル (1): ユーザーコマンド』を参照してください。