SunOS には、電子メール (email) の送受信に使われる mailx というプログラムがあります。mailx を使って、メッセージの読み取りと書き込み、送信と受信、および保存と削除ができます。mailx プログラムはウィンドウベースではないため、任意の端末上で実行できます。ウィンドウベースのメールのほうが好まれるかもしれませんが、簡単なメッセージを急いで送信する場合は、mailx プログラムのほうが便利です。ユーザ専用のメールエイリアスを設定する場合も、この章を参照してください。
ウィンドウ環境でメール・プログラムのアイコンが画面に表示されている場合は、メール・プログラムを終了してからこの章の例を実行してください。終了しないと、2 つのメールプロセスが有効になるため、エラーメッセージや警告が出されることがあります。メール・プログラムのウィンドウ内では正常にメッセージの送受信ができます。しかし、メールを読み取ったあとでメッセージを保存したり削除すると、受信箱が影響を受けるため、メール・プログラムの混乱の原因になります。
この節では、mailx の基本作業を行う方法について説明します。この章の後半では、このプログラムを効率良く使う上で役立つ機能と特徴について説明します。
メールの受信者のログイン名とマシン名は、mailx プログラム用の一意のアドレスとして使われます。メールの受信者が送信者と同じマシン上にいる場合は、ログイン名だけ分かれば十分です。各ユーザは、メールを受信するためのメールボックスを持っています。通常、このメールボックスは /var/mail/username ディレクトリ (username は各ユーザのログイン名) にあります。
メールが受信されると 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 を使い終えたら、 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) が表示されます。
次の行には、メールボックスの場所、受信されたメッセージの数とその状態が表示されます。
その次の行には、メールボックス内のメッセージが番号付きで表示されます。各行のカラムの内容は、左から右に以下のとおりです。
状態: メッセージの状態を新規 (N)、読まれていない (U)、読まれた (記号なし) で示します。行の先頭にある「>」は、最新のメッセージを示します。削除されたメッセージは、アスタリスク (*) が付いて表示されます。
番号: メッセージが受信された順序を示します。
送信者: メッセージを送信したユーザ名 (および通常はマシン名も) を示します。
時間: メッセージが送信された日付と時刻を示します。
サイズ: メッセージの行数およびバイト数を示します。
表題: 送信者が subject:行で入力したメッセージの表題が表示されます。
メールボックス内のメッセージが複数存在する場合は、このリストにすべてのメールが表示されないこともあります。その場合は、次のように入力します。
メールボックス内の最新のメッセージ (> 付きで表示されたもの) を参照するには、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 プログラムを使ってメールを送信する場合は、メッセージの受信者のログイン名が必要です。受信者が別のマシン上にいる場合は、そのユーザのマシン名も必要になります。これらの情報を調べるために、who、finger、rusers などのコマンドを使うことができます。
ファイルサーバに現在ログインしている全ユーザのリストを表示するには、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 章「ネットワークの使い方」を参照してください。
必要なユーザ情報を確認できたら、次の手順に従ってメッセージを送信します。
mailx コマンドのあとに続けてユーザのアドレスを入力します。
$ mailx user@machine |
user は受信者のログイン名、machine は受信者のマシン名です。
Return キーを押すと、mailx プログラムはメッセージの表題を入力するよう subject: と表示してくるので、表題を入力してもう一度 Return キーを押します。
メッセージの本文を入力します。改行する場合は、Return キーを押します。
画面上で文が複数行に渡って表示されていても、Return キーを押していなければ改行したとは見なされません。
メッセージの各行のテキストの最大長は 256 文字です。この制限を超えると、画面が動かなくなります。その場合は、Ctrl-C を押してメッセージの入力を中止してください。
メッセージの入力が終わったら、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 つの方法があります。
あらかじめテキストエディタを使ってホームディレクトリ内の .mailrc ファイルを編集し、次の行を挿入します。
set askcc |
mailx プログラムは、表題の入力 (Subject:) プロンプトの下にカーボンコピープロンプト (Cc:) を表示します。カーボンコピーの宛先となるユーザのアドレスを入力してください。宛先が複数の場合は、アドレスをスペースまたはコンマで区切ります。
メッセージの本文を入力したあと Ctrl-D を押す前に Return キーを押して改行し、次のコマンドを実行します。
~c address(es)
この方法によって 1 人または複数の受信者にカーボンコピーを送信する場合は、次の例のように各受信者のアドレスをスペースで区切ります。次に例を示します。
~c hank@fretful george@lonesome stormy@snoozer |
Cc:プロンプトは、~h コマンドでも表示できます。~h コマンドは、メッセージのすべての見出し行を表示します。つまり、To:、Subject:、、Cc:、Bcc: (ブラインドカーボンコピー) というプロンプトがすべて 1 行ずつ表示されます。その際に、各空白行には入力することができ、入力した行を修正することもできます。ほかのチルドコマンドと同様に、メールの本文作成中は常に改行してから ~h コマンドを実行してください。
~c、~h などのチルドコマンドについての詳細は、この章で後述の チルドコマンドを参照してください。
メールボックス内にある任意のメッセージのコピーを現在作成中のメッセージに挿入することができます。同様に、任意のテキストファイルのコピーも挿入できます。
メッセージの本文作成中に他のメッセージを挿入するには、次の形式のコマンドを使います。
~m number |
number は、挿入するメッセージの番号です。たとえば、メールボックスの 3 番目のメッセージのコピーを取り込んで新規のメッセージを作成し、それをほかのユーザに送信する場合は、次の手順を実行します。
メールの本文作成中に改行してから ~m 3 というコマンドを入力し、Return キーを押します。
mailx により、次のメッセージが表示されます。
「メッセージ挿入」 3 (continue) |
送信者の画面には 3 番目のメールの内容は表示されませんが、受信者の画面には表示されます。(続く) のあとに続けてメッセージを入力するか、あるいは取り込んだコピーをそのまま送信します。
メッセージの本文作成中に任意のテキストファイルのコピーを挿入することもできます。この場合、次の形式のコマンドを入力します。
~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 |
メールフォルダにメッセージを保存またはコピーする場合は、ファイルの絶対パス名を指定する必要はありません。フォルダは、フォルダディレクトリに保管されている特殊ファイルです。
フォルダにメッセージを保存またはコピーすると、同じディレクトリ内にメッセージが自動的に保管され、長いパス名を入力しなくてもそのディレクトリに簡単にアクセスできます。
フォルダを使うには、まず最初にフォルダディレクトリ (フォルダ用のディレクトリ) を設定する必要があります。この設定には次の作業を行います。
mkdir コマンドを使ってディレクトリを作成します。
たとえば、Messages というフォルダディレクトリを設定するには、次のようなディレクトリを作成します。
$ mkdir Messages |
フォルダディレクトリのパスを設定するために、テキストエディタを使ってホームディレクトリ内の .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 テキストエディタを使ってメッセージを作成できます。このエディタにより、メッセージを送信する前にテキストの追加や削除、誤りの修正などができます。vi に慣れていない場合は、第 6 章「vi エディタの使い方」を参照してください。
mailx プログラムでは、vi の標準的なコマンドを使ってテキストの挿入、削除、変更ができます。
vi を使ってメッセージを作成するには、次の手順に従います。
mailx プロンプト (?) で m の後にアドレスを指定するか、コマンドプロンプトでアドレスを指定した mailx コマンドを入力します。
Subject: 行に表題を入力して、Return キーを押します。
改行してから ~v コマンドを入力して vi を起動します。
vi の画面に /tmp ディレクトリ内の空ファイルが表示されます。
vi のコマンドを使ってメッセージの本文を入力し編集します。
編集が完了したところで、:wq Return キーまたは ZZ コマンドで vi を終了します。
vi を終了すると、mailx によって (続く): というメッセージが表示されます。この時点で、(vi を使用せずに) メッセージに何か書き加えることも、Ctrl-D を押してメッセージを送信することもできます。
メールエイリアスとは、単一の名前によってまとめられたユーザ名の集合です。
メッセージを同一のユーザグループに繰り返し送信する場合は、メールエイリアスを使うと便利です。たとえば、hank@fretful、george@lonesome、sally@dakota に頻繁に送信する場合は、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 ファイルに追加する方法を示しています。
# 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 つだけ表示されます。
コマンド名 |
説明 |
---|---|
シェルコマンドを実行する |
|
ファイルの終わりを示すCtrl-D と同じ機能 |
|
チルドコマンドの概要を表示する |
|
ブラインドカーボンコピー (Bcc:) のリストにユーザ名を追加する |
|
カーボンコピー (Cc:) のリストにユーザ名を追加する |
|
dead.letter ファイルの内容を現在作成中のメッセージに読み込む |
|
|
指定されたメッセージを送信する。メールの読み取り中にメッセージを送信する場合のみ有効 |
見出し行のプロンプト (Subject:、To:、Cc:、Bcc:) を表示する |
|
|
現在作成中のメッセージに、指定されたメッセージを挿入する。メールの読み取り中にメッセージを送信する場合のみ有効 |
入力中のメッセージを画面に表示する |
|
Ctrl-C を 2 回押すのと同じ機能。作成中のメッセージ本文が空でない場合は、その内容が dead.letter ファイルに保存される |
|
指定されたファイルを読み込む |
|
表題の行 (Subject:) を string に変更する |
|
指定された名前を To: リストに追加する |
|
現在作成中のメッセージから見出し行を取り除いたものを指定されたファイルに書き込む |
|
mailx を終了する。メッセージが dead.letter ファイルに保存されない点以外は ~q と同じ |
mailx には、コマンドとその機能のリストを表示するヘルプコマンドが 2 種類あります。コマンドモードで使われるコマンドのリストを参照するには、mailx プロンプト (?) に対して ? を入力します。同様に、入力モード (メッセージの作成中など) では、同等のコマンドである ~? を入力すれば、チルドコマンド (チルドエスケープとも呼ばれる) のリストを参照できます。
マニュアルページでは、mailx コマンドをより技術的に詳しく説明しています。mailx のマニュアルページを参照するには、次のコマンドを入力します。
$ man mailx |