是否可以使用Postfix上的ID读取电子邮件?

时间:2013-09-09 14:09:00

标签: email networking ubuntu postfix-mta

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

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

3 个答案:

答案 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)。