Linux/UNIXで "You have new mail "というメッセージは何ですか?
時々、ボックスにログインしてrootに'su'すると、メールを持っているというかわいいメッセージが表示されます(AOLではなくてよかったです)。または、それはちょうど私のシステムが私に何かを言っているのですか?
EDIT: この質問に関連して、私はそうのようにsendmailプログラムを使用して自分自身にメールを送信することができるでしょう: email@localhost
?
時々、ボックスにログインしてrootに'su'すると、メールを持っているというかわいいメッセージが表示されます(AOLではなくてよかったです)。または、それはちょうど私のシステムが私に何かを言っているのですか?
EDIT: この質問に関連して、私はそうのようにsendmailプログラムを使用して自分自身にメールを送信することができるでしょう: email@localhost
?
スプールファイルの中にある可能性が高いでしょう。 )
通常、スプールファイルは非常にシンプルな mbox 形式なので、テキストエディタやページャーで開くことができます。
もう少し便利な方法として、ほとんどのディストリビューションには /var/mail/$USER
(または /var/spool/mail/$USER
, $MAIL
) と呼ばれるプログラムが付属しています。あなたは /var(/spool)/mail
や mail
を試すことができます; 外部のメールボックスに送るように設定することもできます。(以下の “これは本物のメールですか?"を参照してください)
ほとんどの場合、メッセージには cron ジョブの出力や logwatch によるシステムセキュリティレポート、または同様のガラクタが含まれています。
それぞれのメッセージの内容に大きく依存しますが、少なくとも件名のヘッダーをスキャンする必要があります - 多くの人は毎日の cron ジョブが失敗していることに気づかずに何ヶ月もメールを無視しています。
両方ともそうですが、システムが何かを教えてくれています。正確な手順は、インストールしたMTA(もしあれば)によって異なりますし、それがパソコンなのかサーバーなのか、独自ドメインを持っているのか @gmail.com を使っているのかなどによっても異なります。実際には、Sendmailではなく、OpenSMTPDやPostfix、Exim4のような最新のものを使うべきです。これらはすべて同じツールを提供していますが、設定が簡単で、より安全で、同じくらい強力です。
これらのメッセージを一通ずつ読む方法を知りたい人のために、'mail’
$ mail
次に、読みたいメッセージの番号を入力してください。
これはインターネットを経由してメッセージをルーティングせず、他のユーザのスプールディレクトリにのみメッセージをコピーするものです(@John Tが言っていたように)。これは、SMTP に準拠したメールですが、インターネット経由ではなく、必要がないのでルーティングされていません。また、シェルを使って簡単なメールを送信するための alpine
というコマンドラインユーティリティもあるでしょう。
さて、ログインしているシステム以外のユーザーにメッセージを送信したい場合、ここからが本当の楽しみです。メーラーデーモンを設定して、転送エージェントに外部メールを認識させたり、転送エージェントを設定したり、私自身がまだ理解していない色々なことをしなければなりません。
*このメールはどこにあるのでしょうか? *
おそらく、あなたのマシンのルートユーザーのメールボックスフォルダに保存されていると思われます。おそらく、alpine からすぐにアクセスできます。
**何が入っているのでしょうか? “誰かがアップデートをしてくれればいいのですが…」、「ドライバの故障が続いています」、「NSAのボットがパフォーマンスを1%向上させました」…などなど…。
このメールは、(通常の)デフォルトの sendmail デーモンが設定されている場合、通常は /var/spool/mail/root
にあります。このメールには、mail
ユーティリティで読むことができる RAW 電子メールが含まれています。誰が送ったのかは、mail
ユーティリティを実行してメッセージをページングしたり、RAW ヘッダを読んだりすることで知ることができます。ログウォッチャーユーティリティや他のサービスは、低ディスク容量やハードウェアエラーなどの特定のイベントについてのリマインダーとして、ローカルのルートユーザに電子メールを送信することがあります。また、メーラーデーモンは、電子メールの送信に失敗した場合にアラートを出します。
less +G /var/spool/mail/root
は、ファイルの最後に最新のメールを表示します。
メールファイルを直接表示するのは良いアイデアですが、 cat
を使うと簡単に失敗します。多くのメッセージがある場合や、ファイル内に非常に長いメッセージがある場合は、**すべての*通のメールをスクロールさせたくないでしょう。
あなたが root でない場合:
sudo less +G /var/spool/mail/root
+G
less
オプションは、最新のメッセージを最初に表示するために使用されます。ファイル名は /var/spool/mail/mail
の代わりに /var/spool/mail/root
とすることもできます。