ターミナルの「You have mail」メッセージ、OS X [終了]


170

数日前、ターミナルウィンドウに次のメッセージが表示されました。 ここに画像の説明を入力してください

どういう意味ですか?今まで見たことがありません。

それはxCodeボットからのメッセージでした。

ボット

助けてくれてありがとう。


11
mailメールを実行して読みます。
Blender 2014年

まず、未読のメールはありません。第二に-なぜこの文字列が今現れたのですか?これまでに彼女に会ったことはありません。
Oleg Sobolev 2014年

2
それは、より良いapple.stackexchange.comに適していますので、この質問は、オフトピックのように見える
Monolo

回答:


60

おそらく、システムからのメッセージです。

端末を入力:

man mail

、そしてあなたのシステムからこのメッセージをどのように得ることができるかを見てください。


これはどのメールアドレスを使用していますか?
AbhimanyuAryan

4
次に「d *」と入力してすべてのメッセージを消去します
Ricardo Martins

9
/var/mail/<your-username>メールの到着時に(まだ読まれていない)を誤って空にすると、You have mailターミナルで新しいタブを開くたびにトリガーされます(これは一度だけ起こりました)。この問題を解決するには、ファイルを削除する必要があります(つまりsudo rm /var/mail/<your-username>)。
Muntashir Akon 2017

4
これは質問の答えにはなりません。
minatverma

272

また、ターミナルを起動するたびに「You have mail」の問題が出てきました。

私が発見したのはこれです。

私がインストールしたもの(完全にはわからないが、おそらくスクリプトまたはAlfredワークフローに関連付けられているもの)がOS Xシステムに変更を加え、ターミナルbash通知の表示を開始しました。それ以前は、Wordpressがローカルメールシステムを使用してメッセージを送信しようとしたようです。無効な受信者アドレスが含まれているため、メッセージが返送されました。返送されたメッセージは、ローカルシステムのメール受信トレイに届きました。そのため、ターミナル(bash)から「メールがあります」と通知されました。

コマンドを使用するだけでメールにアクセスできます

mail

これにより、Mailが起動し、そこに保存されているメッセージのリストがすぐに表示されます。最初のメッセージの内容を見たい場合は、

t

これにより、最初のメッセージの内容が完全に表示されます。down-arrowキーを押してメッセージをすべて表示するには、メッセージを下にスクロールする必要があります。

メッセージの最後にジャンプする場合は、

spacebar

メッセージの表示を中止したい場合は、

q 

キュー内の次のメッセージを表示するには、

n

...複数のメッセージがあると仮定します。

注:メール?コマンドプロンプトでこれらのコマンドを使用する必要があります。メッセージを表示している間は機能しません。打撃nメッセージを表示しながらすることだけで、正規表現に関連したエラーメッセージが発生します。したがって、メッセージの表示中にを押すと、メッセージqを終了するか、spacebarを押してメッセージの最後にジャンプし、?プロンプトでを押しnます。

この方法でメッセージの内容を表示すると、メッセージを送信しようとしたものを特定するのに役立ちます。

?プロンプトで番号を入力するだけで、特定のメッセージを表示することもできます。3たとえば、3番目のメッセージの内容が表示されます(そこにその数が多い場合)。

コマンドを使用する(?コマンドプロンプトで)

d [message number]

メッセージを見終わったら、各メッセージを削除します。たとえば、d 2はメッセージ番号2を削除します。または、などのメッセージのリストを削除することもできますd 1 2 5 7。メールが表示するメッセージのリストにメッセージ番号が表示されます。

すべてのメッセージを削除するには、メールプロンプト(?)からコマンドを使用しd *ます。

この投稿に対するコメントのとおり、を使用qしてメールを終了する必要があります。これにより、変更も保存されます。

メールをすべて1つの出力で表示したい場合は、bashプロンプトで(つまり、メール内からではなく、通常のコマンドプロンプトから)次のコマンドを使用します。

cat /var/mail/<username>

そして、一度にすべてのメールを削除したい場合は、このコマンドを使用します

sudo rm /var/mail/<username>

私の特定のケースでは、いくつかのメッセージがありました。返送されたメッセージが返送されたようです。ローカルのWordpressインストールによって送信されました。これは、ユーザー「Admin」(私)がパスワードを変更したときの通知でした。そこに2つの追加メッセージがあります。どちらも同じ事件のようです。

私が知らないこと、そしてあなたのために答えることもできないのは、ターミナルを開くたびにこのメール通知が最近表示され始めた理由です。メールは数か月前に生成されましたが、この「あなたのメールがあります」というメッセージがここ数週間だけ表示されていることに気づきました。私はそれがAlfredにインストールしたワークフローの結果であり、Terminal bashを使用して通知を提供しているワークフローの結果であると思います...

メッセージを削除するだけ

メッセージのソースを決定することに関心がなく、単にそれらを削除したい場合は、mailコマンドを使用せずにそれを行う方が簡単かもしれません(これは多少面倒かもしれません)。他の数人が指摘したように、代わりにこのコマンドを使用できます。

sudo rm /var/mail/YOURUSERNAME

12
変更をディスク保存するにはメールを終了するためにqを使用する必要があることに注意してください
storm_m2138

最初のメッセージを表示するために「t」を使用した後の「n」および「d」コマンドは、私が説明しているように機能しません。「d」はスクロールしているように見え、「n」は正規表現と関係があります。
Nathan Hornby

@NathanHornby ?コマンドプロンプトに戻ったら、そのコマンドを使用する必要があります。t最初のメッセージが完全に読み取られ、:メッセージが特定の量の出力をオーバーフローした場合はプロンプトが表示されます。いずれかのキーを押すと、その終わりを読むまで、メッセージなどがさらに表示され続けます。または、マウス/タッチパッドでスクロールすることもできます。qメッセージの表示を打ち切ることができる場合があります(今はテストできませんが、試してみてください)。すべてのメッセージを削除するには、commandを使用しますd *。2番目のメッセージを削除するにはd 2、などを使用します。メール?プロンプトで使用します。
inspirednz

1
シンプルで効果的、ありがとうございます。
Chrstph SLN 2018

1
メッセージの範囲を削除することもできます。例:d 1-15
Jay Shepherd

55

を使用する手間をかけたくない場合は、次のコマンドでmailメールを読むことができます。

cat /var/mail/<username>

とメールを削除

sudo rm /var/mail/<username>

/ var / mail /に登録されているメールアドレスを教えてください。確認方法を教えてください。
AbhimanyuAryan

@ androidplusios.designメールアドレスは、システム上のユーザー名です。電子メールは、システムによって送信されたものです。また、システムの他のユーザーのエイリアスになり、そのユーザーのメールを受信する場合もあります。を参照してください/etc/aliases。詳細については、Linux / UNIXの「新着メールがあります」というメッセージをご覧ください
kba 2015

これが実際に私のために働いた唯一の答えでした、乾杯!
Nathan Hornby

10

これは、作成したプロセスまたはスクリプトがローカルマシンのアカウント(たとえば、localhostアプリケーションで実行されているメールサーバー)にメールを送信していることを意味します。

これらのコマンドでこのメールを管理します。

t <message list>        type messages
n                       goto and type next message
e <message list>        edit messages
f <message list>        give head lines of messages
d <message list>        delete messages
s <message list>        file append messages to file
u <message list>        undelete messages
R <message list>        reply to message senders
r <message list>        reply to message senders and all recipients
pre <message list>      make messages go back to /var/mail
m <user list>           mail to specific users
q                       quit, saving unresolved messages in mbox
x                       quit, do not remove system mailbox
h                       print out active message headers
!                       shell escape
cd [directory]          chdir to directory or home if none given

は、整数、同じ範囲、またはスペースで区切られたユーザー名で構成されます。省略した場合、Mailは最後に入力されたメッセージを使用します。

Aは、スペースで区切られたユーザー名またはエイリアスで構成されます。エイリアスは、ホームディレクトリの.mailrcで定義されます。


10

inspiredlifeが説明したようにmailコマンドを使用して何が起こっているのかを把握できます。

無関係な/自動生成された一連のメッセージを(私のように)1つずつ削除したくない場合は、次のコマンドを実行してすべてのメッセージを削除します。

echo -n > /var/mail/yourusername
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.