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