终端机os X中显示“您有邮件”消息[关闭]


170

几天前,我在终端窗口中收到了以下消息: 在此处输入图片说明

那是什么意思?我以前从未见过。

那是来自xCode机器人的消息。

机器人

谢谢您的帮助。


11
运行mail并阅读您的邮件。
Blender 2014年

首先-我没有任何未读的邮件。第二-为什么现在出现了这个字符串?我以前从未见过她。
Oleg Sobolev 2014年

2
这个问题似乎离题,因为它更适合apple.stackexchange.com
Monolo

Answers:


60

可能是系统发出了一些消息。

输入终端:

man mail

,并查看如何从系统中获取此消息。


这是使用哪个电子邮件地址?
AbhimanyuAryan 2015年

4
然后键入“ d *”以删除所有消息
Ricardo Martins

9
每次在终端中打开一个新选项卡时(一次发生在我身上),都会/var/mail/<your-username>在邮件到达时意外清空(仍未读取You have mail)。要解决此问题,需要删除该文件(即sudo rm /var/mail/<your-username>)。
Muntashir Akon

4
这不能回答问题。
minatverma

272

每次启动Terminal时,都会遇到“您有邮件”的问题。

我发现的是这个。

我安装的某些东西(不完全确定是什么,但可能不是脚本或与Alfred Workflow相关联的东西[猜测])对OS X系统进行了更改,开始显示终端bash通知。在此之前,Wordpress似乎已尝试使用本地邮件系统发送消息。由于邮件的收件人地址无效,邮件被退回。然后,退回的邮件最终出现在本地系统邮件收件箱中。因此,终端机(bash)随后通知我“您有邮件”。

您只需使用以下命令即可访问邮件

mail

这将启动您进入Mail,并立即向您显示存储在其中的邮件列表。如果要查看第一条消息的内容,请使用

t

这将完整显示第一条消息的内容。您需要通过down-arrow按键向下滚动消息以查看所有内容。

如果您想跳到消息的末尾,请使用

spacebar

如果要中止查看消息,请使用

q 

要查看队列中的下一条消息,请使用

n

...假设有不止一条消息。

注意:您需要在mail ?命令提示符下使用这些命令。在您查看邮件时,它们将无法工作。击中n同时查看邮件只会导致正则表达式相关的错误信息。因此,如果在查看消息时,单击q退出该消息,或单击spacebar跳至该消息的末尾,然后在?提示时单击n

以这种方式查看邮件的内容可以帮助您识别尝试发送邮件的内容。

您还可以通过在?提示符下输入特定消息的编号来查看特定消息。3,例如,将向您显示第三条消息的内容(如果其中有那么多消息)。

使用命令(在?命令提示符处)

d [message number]

查看完毕后删除它们。例如,d 2将删除消息编号2。或者您可以删除消息列表,例如d 1 2 5 7。您会在邮件向您显示的邮件列表中看到邮件编号。

要删除所有消息,请从邮件提示符(?)中使用命令d *

根据对这篇文章的评论,您将需要使用q退出邮件,这还可以保存所有更改。

如果您希望在一个输出中看到所有邮件,请在bash提示符下使用此命令(即不是从邮件内部,而是从常规命令提示符处):

cat /var/mail/<username>

而且,如果您希望一次删除所有电子邮件,请使用此命令

sudo rm /var/mail/<username>

在我的特定情况下,有很多消息。看起来好像是一条退回的邮件反弹了。它是由本地Wordpress安装发送的。这是关于用户“ Admin”(我)更改密码的通知。还有两个其他消息。两者似乎都是同一件事。

我不知道,也无法为您回答的原因是为什么我最近才每次打开Terminal时才看到此邮件通知。这些邮件是在几个月前生成的,但是我只注意到最近几周出现了这种“您有邮件”。我怀疑这是我在Alfred中安装的某个工作流程的结果,以及该工作流程使用Terminal bash提供通知的结果……或类似的结果。

只需删除消息

如果您对确定消息的来源没有兴趣,而只是希望摆脱它们,那么不使用mail命令(这样做可能会有些麻烦)可能会更容易。正如其他一些人指出的那样,您可以改用以下命令:

sudo rm /var/mail/YOURUSERNAME

12
请注意,您将需要使用q退出邮件以将更改保存到磁盘
storm_m2138 '16

使用“ t”显示第一条消息后的“ n”和“ d”命令没有按照您为我描述的那样执行。'd'似乎在滚动,而'n'与正则表达式有关。
内森·霍恩比

@NathanHornby返回到?命令提示符后,您将需要使用该命令。t将为您提供第一条消息的完整读数,并:在消息溢出一定量的输出时提示您。击中任何键将导致它继续显示更多消息等,直到您阅读完该消息为止。或者,您可以使用鼠标/触摸板滚动。您可能可以单击q以中止查看消息(我暂时无法测试,但可以尝试)。要删除所有消息,请使用command d *。要删除第二条消息,请使用d 2,依此类推。在邮件?提示符下使用它们。
启发

1
简单有效,谢谢。
Chrstph SLN

1
您还可以删除一系列消息,例如:d 1-15
杰伊·谢泼德

55

如果您不想麻烦使用mail,可以阅读以下内容的邮件

cat /var/mail/<username>

并使用删除邮件

sudo rm /var/mail/<username>

您能告诉我/ var / mail /中注册了哪个电子邮件地址吗?
AbhimanyuAryan 2015年

@ androidplusios.design电子邮件地址是您在系统上的用户名。电子邮件是系统发送给您的电子邮件。您也可能是系统上其他用户的别名,从而收到他们的电子邮件。请参阅/etc/aliases。有关更多信息,请查看Linux / UNIX中的“您有新邮件”消息是什么?
kba

这是唯一对我有用的答案,干杯!
内森·霍恩比

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

A由整数,相同范围或由空格分隔的用户名组成。如果省略,则Mail使用最后键入的消息。

A由用空格分隔的用户名或别名组成。别名在主目录的.mailrc中定义。


10

正如启发生活所解释的那样,您可以使用mail命令找出正在发生的事情。

如果您不想一一删除一堆无关的/自动生成的消息(像我一样),只需运行下面的命令即可删除所有消息:

echo -n > /var/mail/yourusername
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.