过去2小时我一直在寻找这个问题的答案。我有一个sendmail服务器,其中有一个邮箱,其中有13,000多封电子邮件。今天用户打开了Outlook,它开始下载所有这些消息,尽管之前已经有大部分消息已被Outlook下载 - 这与所有13,000个重复。值得庆幸的是,她以大约1,000个下载商标关闭了Outlook。用户在Outlook中设置了“20天后从服务器中删除”。
我需要通过命令行删除此用户邮箱中2月11日到2月29日之间的所有邮件。我知道如何从队列中删除邮件,但不知道从邮箱中删除邮件,因为我真的不确定电子邮件文件所在的位置。
我真的很感激任何帮助或指出我正确的方向。
谢谢!
答案 0 :(得分:0)
通常的配置是sendmail将邮件放入/ var / spool / mail / [username]中的用户。该文件只是用户连接在一起的所有消息。 (每条消息都以一行开头" From"。)
开头我认为你可以通过查看/etc/sendmail.cf来确定。寻找一条起跑线" Mlocal"。这描述了如何传递本地电子邮件。 " P ="该部分行说明了该程序的工作原理。我认为CentOS目前指定/ usr / bin / procmail,如果用户没有〜/ .procmail文件,它就会执行我上面描述的内容。
您可以简单地将/ var / spool / mail文件移动到/ partition中的另一个目录 - 这是安全的,因为文件系统中的mv在内核级别是原子的。然后,您可以根据需要编辑文件。将编辑过的文件放回原点会有点小,因为你可能会在sendmail发送另一条消息的同时这样做。最安全的方法是停止sendmail,然后将要保留的消息连接到/ var / spool / mail / [user],或者如果它不存在,只需将其移回。然后重启sendmail。