如何使用大量电子邮件清除linux邮箱?

anj*_*jan 184 email purge

我已经设置了一些cron作业,他们将crons结果发送到电子邮件.几个月来,我积累了大量的电子邮件.

现在我的问题是如何从邮箱中清除所有这些电子邮件?

tim*_*hew 380

替代方式:

mail -N
d *
quit
Run Code Online (Sandbox Code Playgroud)

-N在阅读邮件或编辑邮件文件夹时禁止显示邮件标题.
d *删除所有邮件

  • 不适用于Debian 7. (6认同)
  • 在Centos 6上都没有 (4认同)
  • 它几乎可以在Debian 7.5中使用.或者,人们可能想要在主目录中输入"> mbox"来删除所有已保存的邮件,这只是截断mbox文件. (4认同)
  • @andreas:只需在CentOS 6.5上成功添加即可. (4认同)
  • 在Debian Wheezy上也为我工作(7.6) (3认同)
  • 在Ubuntu 14.04服务器上工作 (2认同)
  • @LeonidMednikov 就是这样!键入 `exit` 而不是 `quit` 不会持久删除。 (2认同)

Edo*_*odo 146

您只需删除该/var/mail/username文件即可删除特定用户的所有电子邮件.此外,传出但尚未发送的电子邮件将被存储/var/spool/mqueue.

  • 它不是来自应用程序外部的良好实践数据操作.如果有可以执行该任务的选项或命令,则最好使用它.正如@timaschew所回答的那样,你可以在邮件工具中使用'd'命令. (5认同)
  • `username`必须替换为您要删除电子邮件的用户.在您的情况下,电子邮件将被发送给名为`cron_results`的用户,因此您必须删除`/ var/www/cron_results`. (3认同)

小智 58

只需使用:

mail
d 1-15
quit
Run Code Online (Sandbox Code Playgroud)

这将删除1到15之间的所有消息以删除所有,使用d *.

我只是在ubuntu 12.04.4上使用它,它就像一个魅力.

例如:

eric@dev ~ $ mail
Heirloom Mail version 12.4 7/29/08.  Type ? for help.
"/var/spool/mail/eric": 2 messages 2 new
>N  1 Cron Daemon           Tue Jul 29 17:43  23/1016  "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
 N  2 Cron Daemon           Tue Jul 29 17:44  23/1016  "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
& d *
& quit
Run Code Online (Sandbox Code Playgroud)

然后再次检查您的邮件:

eric@dev ~ $ mail
No mail for eric
eric@dev ~ $
Run Code Online (Sandbox Code Playgroud)

绊倒你的是你正在使用xexit退出哪些会在该会话期间回滚更改.

  • 使用`exit`而不是`quit`让我沮丧.`exit`将中止会话,因此任何待删除的电子邮件都将保持不变.`quit`会将更改写回,因此删除的电子邮件将在此时提交. (7认同)

xpl*_*raj 21

我认为我们可以使文件无效,而不是删除,因为如果邮件服务仍然打开,将创建该文件.像下面这样的东西将完成这项工作

cat /dev/null >/var/spool/mail/tomlinuxusr
Run Code Online (Sandbox Code Playgroud)

是的,抱歉唤醒这个旧线程,但我觉得我可以贡献.

  • 另外对于懒惰,只需输入它也可以:>/var/spool/mail/unixuser (3认同)

Mic*_*sey 21

一个班轮:

echo 'd *' | mail -N
Run Code Online (Sandbox Code Playgroud)


pet*_*rim 5

在UNIX/Linux/Mac OS X上,您可以复制和覆盖文件,不是吗?那么这个解决方案怎么样:

cp /dev/null /var/mail/root
Run Code Online (Sandbox Code Playgroud)