我需要恢复我网络上的另一个用户几天前发送的电子邮件。我使用grep
on 命令获得了电子邮件 ID /var/log/mail.log
,但我现在不知道该怎么做。
如何使用 ID 查看电子邮件的内容?
我需要恢复我网络上的另一个用户几天前发送的电子邮件。我使用grep
on 命令获得了电子邮件 ID /var/log/mail.log
,但我现在不知道该怎么做。
如何使用 ID 查看电子邮件的内容?
看看它是否在队列中
sudo postqueue -p
如果是,请使用
sudo postcat -q MESSAGE_ID
如果你有大附件,消息在顶部,所以把它放到head里看看
sudo postcat -q MESSAGE_ID | head -n 100
您无法通过日志获取电子邮件的内容。只有当它被处理,并且它被发送到一些本地邮件传输或中继时。如果电子邮件是入站的,并且您有一些邮件传输设置(例如 cyrus/pop3/imap),那么您可能需要在邮箱中查找电子邮件 ID。否则,如果邮件要被转发到其他地方,并且被推迟或遇到临时错误,您可以检查后缀队列:
postqueue -p
应该列出后缀队列中的所有电子邮件。然后,您可以在具有给定队列 ID 的队列中查找电子邮件本身,该 ID 可能应该在/var/spool/postfix
尝试 grep /var/log/mail.log.1、/var/log/mail.log.2 等文件。
但是,如果电子邮件没有通过 postfix 退回,则无法恢复它。默认情况下,postfix 在 5 天内(参数 maximal_queue_lifetime)将电子邮件保持在无法投递状态(即退回)。