bellmail コマンド

目的

システム・ユーザーにメッセージを送り、またシステム・ユーザーからのメッセージを表示します。

構文

メッセージを表示する

bellmail-e ] [ -fFile ] [  -p ] [  -q ] [  -r ]

メッセージを送信する

bellmail-t ] User ...

説明

bellmail コマンドは、フラグを指定しないと、ユーザーのログイン名にアドレス指定された格納済みの全メールを、一度に 1 メッセージずつ標準出力に書き出します。bellmail コマンドは、各メッセージの後ろにプロンプトとして ?(疑問符) が最初のオカレンスにのみ必要です。 Enter キーを押して次のメール・メッセージを表示するか、メッセージの後処理を制御する bellmail サブコマンドを 1 つ入力してください。

User パラメーターを使用して、送信するメッセージに接頭部を付けます。bellmail コマンドは、各メッセージに接頭部として送信側の名前、メッセージの日付と時刻 (メッセージの消印) を付けて、ユーザーのメールボックスにメッセージを追加します。User パラメーターを指定するには、メッセージのあとにファイルの終わり (Ctrl-D キー・シーケンス) を押すか、. (ピリオド) だけの行を入力します。

bellmail コマンドのアクションは、/var/spool/mail/UserID メールボックス・ファイルを操作することにより、次の 2 つの方法で変更できます。

  • 他のユーザー のデフォルトの許可割り当ては all permissions denied (660) です。 この許可を read/write に変更できます。この許可割り当てをデフォルトから変更すると、システムはたとえ空であってもファイルを保存して必要な許可を保守します。これでファイルを除去できなくなります。
  • ファイルを編集して、先頭行として次の行を含めることができます。
    Forward to person
    この命令により、User パラメーターに送られたすべてのメッセージが、今度は Person パラメーターに送られます。Forward to 機能は、あるユーザーのすべてのメールをネットワーク環境内の特定のマシンに送信したいときに特に有効です。

UNIX 間コピー・プログラム (UUCP) を通してアクセスできるリモート・システム上の受信側を指定するには、User パラメーターに接頭部としてシステム名と !(感嘆符) を付けます。 [-t User. . .uucp コマンドには、リモート・システムのアドレッシングに関する追加情報が含まれています。

注: リモート・メール機能を使用するには、UUCP を完全に設定する必要があります。

サード・パーティーのメール・プログラムを作成する場合は、bellmail コマンドで使われる次のロック機構を理解しておく必要があります。

  1. bellmail コマンドは、UserID.lock ファイルを /var/spool/mail ディレクトリーに作成します。このディレクトリーは、O_NSHARE および O_DELAY フラグを open サブルーチンに渡すとオープンできます。UserID.lock ファイルがあると、bellmail プロセスはロックが解除されるまでスリープ状態化します。
  2. bellmail コマンドは、lockf サブルーチンを使って /var/spool/mail/UserID をロックします。

フラグ

項目 説明
-e 何もメッセージを表示しません。このフラグを使うと、bellmail コマンドはユーザーにメールがあれば終了値 0 を、メールがなければ終了値 1 を戻します。
-fFile デフォルトのメール・ファイル /var/spool/mail/UserID の代わりに、指定された File パラメーターからメールを読み取ります。
-p 後処理コードに関するプロンプトを出さずにメールを表示します。このフラグは、メッセージを削除、コピー、または転送しません。
-q 割り込み (Ctrl-C キー・シーケンス) を押すと bellmail コマンドが終了するようにします。割り込み (Ctrl-C) のみを押すと、表示中のメッセージのみが停止します。(この場合、p サブコマンドを入力するまで、 次のメッセージが表示されない場合があります。)
-r 先入れ先出しの順序でメールを表示します。
-t 各メッセージに、接頭部としてメールのすべての宛先の名前を付けます (このフラグがない場合は、個人の宛先名のみが受け取り人として表示されます)。

User パラメーターは、通常は login コマンドにより認識される名前です。指定した User パラメーターの中にシステムに認識されない ものがあるか、入力中に bellmail コマンドが割り込まれ ると、bellmail コマンドはメッセージを現行ディレクトリー の dead.letter ファイルに保存しようとします。bellmail コマンドは、メッセージを dead.letter ファイルに保存できない場合は、$HOME/dead.letter ファイルにメッセージを保存します。一度このファイルに保存されたメッセージは、編集し直して再送信できます。

注: bellmail コマンドは、$MAIL 環境変数を使用してユーザーのメールボックスを探します。

サブコマンド

次のサブコマンドでメッセージの後処理を制御します。

項目 説明
+ 次のメール・メッセージを表示します (Enter キーを押した場合と同じです)。
- 直前のメッセージを表示します。
!Command 指定されたワークステーションのコマンドを実行します。
* サブコマンドの要約を表示します。
d 現行メッセージを削除して次のメッセージを表示します。
m User 指定された User パラメーターにメッセージを転送します。
p 現行メッセージを再び表示します。
q まだ削除していないメールを /var/spool/mail/UserID ファイルに書き込んで、終了します。ファイルの終わり (Ctrl-D) を押した場合と同じ効果があります。
s [File] デフォルトのメール・ファイル $HOME/mbox ではなく、File パラメーターで指定されたファイルにメッセージを保管します。
w [File] メッセージに消印を付けずに、デフォルトのメール・ファイル $HOME/mbox ではなく、File パラメーターで指定されたファイルに保管します。
x 未変更のすべてのメールを /var/spool/mail/UserID に書き込んで、終了します。

セキュリティー

RBAC ユーザーと Trusted AIX® ユーザーへの注意: このコマンドは特権命令を実行できます。特権命令を実行できるのは特権ユーザーのみです。権限および特権の詳細情報については、「セキュリティー」の『特権コマンド・データベース』を参照してください。このコマンドに関連した特権および権限のリストについては、lssecattr コマンドまたは getcmdattr サブコマンドの項を参照してください。

  1. メールを他のユーザーに送るには、次のように入力します。
    bellmail tom rachel
    Don't forget the meeting tomorrow at 9:30 a.m.
    メッセージの終わりに Ctrl-D を押します。この例では、システムはメッセージをユーザー tom および rachel に送信します。
  2. ファイルを別のユーザーに送るには、次のように入力します。
    bellmail lance <proposal
    この例では、ファイル proposal がユーザー lance に送信されます。
  3. 受信したメールを表示するには、次のように入力します。
    bellmail
    最新のメッセージを表示された後で ?(疑問符) が表示され、bellmail コマンドが bellmail サブコマンドのいずれか 1 つの入力を待っていることが示されます。 使用可能なサブコマンドをリストするには、help または * (アスタリスク) を入力します。
  4. メッセージまたはファイルをデフォルトのメール・ファイルに保管するには、 次のように入力します。
    
    bellmail
    このコマンドは、ユーザーに送信された各メッセージを表示します。プロンプトの後で、必要なファイルが表示されるまで Enter キーを押します。必要なファイルが表示されたら、次のように入力します。

    s
    この例では、ファイルはデフォルトのメール・ファイル $HOME/mbox に保管されます。
  5. メッセージまたはファイルを特定のファイルに保管するには、 次のように入力します。
    bellmail
    このコマンドは、ユーザーに送信された各メッセージを表示します。プロンプトの後で、必要なファイルが表示されるまで Enter キーを押します。必要なファイルが表示されたら、次のように入力します。
    mycopy
    この例では、ファイルはデフォルトのメール・ファイルではなく、mycopy というファイルに保管されます。

ファイル

項目 説明
$HOME/dead.letter 送信できないテキスト。
$HOME/mbox 個人用メールボックス。
/usr/mail/*.lock メール・ディレクトリーのロック。
/var/spool/mail/UserID UserID 用のデフォルトのシステム・メールボックス。
/usr/bin/bellmail Bellmail プログラム。