mailq -Ac 与 clientmqueue 中的文件数量不匹配

mailq -Ac 与 clientmqueue 中的文件数量不匹配

我的 clientmqueue 文件夹包含的邮件数量几乎是 mailq -Ac 显示的该文件夹中排队邮件数量的两倍。当我单独查看它们时,似乎标题和内容存储在单独的文件中。

是否有一个工具或不同的值可以传递给 mailq,以便我可以一起查看整个电子邮件?(特别是发件人、收件人、主题和正文)

答案1

大多数情况下,队列目录中的文件将是队列中消息的两倍。队列目录中也可能存在与队列消息不对应的文件,因为它们是作为剩余物留在那里的,由于某种原因,在处理队列后没有被删除。如果您观察消息标识符和队列文件名,您会发现它们是关联的。根据“蝙蝠书“(第 396 页)每个文件名的完整格式为:

Xfident

X 是首字母之一。f 是常量字母 f。ident 是与每封邮件相关联的唯一队列标识符。关于首字母:

  • df——数据(消息正文)
  • lf-锁定文件(从 V5.62 开始已过时并被删除)
  • nf - ID 创建文件(自 V5.62 起已过时并被删除)
  • tf - 临时 qf 重写映像
  • xf——成绩单文件
  • qf——队列控制文件(和标题)

有了上述信息,您就可以编写脚本来处理输出并执行任何您想要的操作。如果您想做复杂的操作,mailq您可能还需要检查 sendmail 附带的源代码。qtool.pl

答案2

mailq 命令显示的值是正确的。正如您所猜测的,sendmail 将消息及其标题分别存储在队列目录中。

据我所知,无法使用 mailq 查看整封邮件 - 它向您显示队列摘要,它不是窥探邮件内容的工具。您能做的最好的事情就是将标题和数据文件放在一起以在控制台上查看它们(尽管我不明白为什么要这样做,以及阅读其他人的邮件是否合乎道德......)

相关内容