3

我需要恢复我网络上的另一个用户几天前发送的电子邮件。我使用grepon 命令获得了电子邮件 ID /var/log/mail.log,但我现在不知道该怎么做。

如何使用 ID 查看电子邮件的内容?

4

3 回答 3

11

看看它是否在队列中

sudo postqueue -p

如果是,请使用

sudo postcat -q MESSAGE_ID

如果你有大附件,消息在顶部,所以把它放到head里看看

sudo postcat -q MESSAGE_ID | head -n 100
于 2014-05-13T04:37:56.107 回答
3

您无法通过日志获取电子邮件的内容。只有当它被处理,并且它被发送到一些本地邮件传输或中继时。如果电子邮件是入站的,并且您有一些邮件传输设置(例如 cyrus/pop3/imap),那么您可能需要在邮箱中查找电子邮件 ID。否则,如果邮件要被转发到其他地方,并且被推迟或遇到临时错误,您可以检查后缀队列:

postqueue -p

应该列出后缀队列中的所有电子邮件。然后,您可以在具有给定队列 ID 的队列中查找电子邮件本身,该 ID 可能应该在/var/spool/postfix

于 2013-09-09T14:40:14.637 回答
0

尝试 grep /var/log/mail.log.1、/var/log/mail.log.2 等文件。

但是,如果电子邮件没有通过 postfix 退回,则无法恢复它。默认情况下,postfix 在 5 天内(参数 maximal_queue_lifetime)将电子邮件保持在无法投递状态(即退回)。

于 2013-09-09T14:35:16.063 回答