如何删除所有终端邮件?


94

很久以前,我设置了一个cronjob,但现在不存在。每当我打开终端时,它现在都会显示“您有邮件”。我有100条类似的信息。如何批量删除所有消息?


1
我什至都不知道OS X内置了MTA。尽管现在我考虑了一下,但坦白地说我并不感到惊讶。
詹森·萨拉兹

@JasonSalaz我忘了问你,什么是MTA?
daviesgeek

1
邮件传输代理。如有疑问,请参阅Wikipedia。我至少知道MTA,MSA,MDA和MUA。
杰森·萨拉兹

Answers:


180

mail通过在命令提示符下运行此命令来启动UNIX 实用程序(例如Terminal.app):

$ mail

您会看到所有消息的列表。在邮件提示下,执行

? delete *
? q

就是这样。确保qdelete *命令后执行操作,以将更改保存到磁盘。


起初,我不知道邮件应用程序的含义。对于遇到同样麻烦的任何人,“这都是命令”。只需在终端中键入它,您将在此运行一个交互式应用程序。+1谢谢
Nabin

del 1如果您需要保留一些电子邮件以进行调试,也可以在消息号中使用1。
Fadli Saad

一直遵循其他答案,但习惯于exit退出并且无法正常工作。感谢您提及该q选项。
星期五

10

您也可以直接使用路由,然后运行: > /var/mail/$USER以清空邮件文件。

PS:删除邮件文件需要sudo,将其设置为空就足够了。


0

我知道这篇文章很旧,但是我想提供一个答案。

要删除您的邮件,请执行以下操作:

sudo rm /var/mail/[user]

为了解决这个问题,我建议您对不想发送电子邮件通知的每个crontab执行以下操作(这样,您的邮件将没有邮件)

* * * * * /path/to/script.sh > /dev/null 2>&1

要么

* * * * * command > /dev/null 2>&1
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.