211

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

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

4

8 回答 8

450

替代方式:

mail -N
d *
quit

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

于 2012-11-17T11:57:01.570 回答
171

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

于 2011-08-16T09:38:22.553 回答
67

只需使用:

mail
d 1-15
quit

这将删除数字 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

然后再次检查您的邮件:

eric@dev ~ $ mail
No mail for eric
eric@dev ~ $

使您绊倒的是您正在使用xexit退出,这会在该会话期间回滚更改。

于 2014-03-03T18:21:55.097 回答
26

一个班轮:

echo 'd *' | mail -N
于 2014-08-25T15:25:00.613 回答
24

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

cat /dev/null >/var/spool/mail/tomlinuxusr

是的,很抱歉唤醒了这个旧线程,但我觉得我可以做出贡献。

于 2014-04-29T12:27:17.393 回答
9

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

cp /dev/null /var/mail/root
于 2014-10-27T22:55:47.223 回答
2

如果您在邮件服务器上使用 cyrus/sasl/imap,那么清除邮箱中超过指定天数的所有内容的一种快速有效的方法是使用 cyrus/imap ipurge命令。例如,这是一个删除所有内容的示例(小心!!),从用户vleo 超过30 天。请注意,您必须以cyrus(imap 邮件管理员)用户身份登录:

[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo Working on user.vleo... total messages 4 total bytes 113183 Deleted messages 0 Deleted bytes 0 Remaining messages 4 Remaining bytes 113183

于 2015-03-11T14:08:37.730 回答
1

Rather than use "d", why not "p". I am not sure if the "p *" will work. I didn't try that. You can; however use the following script"

#!/bin/bash
#

MAIL_INDEX=$(printf 'h a\nq\n' | mail | egrep -o '[0-9]* unread' | awk '{print $1}')

markAllRead=
for (( i=1; i<=$MAIL_INDEX; i++ ))
do
   markAllRead=$markAllRead"p $i\n"
done
markAllRead=$markAllRead"q\n"
printf "$markAllRead" | mail
于 2014-09-17T15:05:16.977 回答