![我如何才能查看通过 mailq 命令获取的邮件 ID 的内容?](https://linux22.com/image/585254/%E6%88%91%E5%A6%82%E4%BD%95%E6%89%8D%E8%83%BD%E6%9F%A5%E7%9C%8B%E9%80%9A%E8%BF%87%20mailq%20%E5%91%BD%E4%BB%A4%E8%8E%B7%E5%8F%96%E7%9A%84%E9%82%AE%E4%BB%B6%20ID%20%E7%9A%84%E5%86%85%E5%AE%B9%EF%BC%9F.png)
我使用mailq
命令并得到如下行:
A705238B4C 603953 Wed May 23 11:09:58 [email protected]
所以,现在我想知道是否有一种方法可以通过邮件 ID“读取”邮件的实际内容A705238B4C
答案1
最好的方法是利用postcat
命令。
postcat -q A705238B4C
至少我现在可以查看的系统/var/spool/postfix
是主目录。重要的子目录包括active
、、等。排队文件可以使用完整文件名 ( )deferred
或某种级别的哈希深度 ( ) 进行存储。bounce
A705238B4C
A/7/05238B4C
答案2
正如所述杰夫的回答您可以使用postcat
该-q
选项。
但是从 Postfix 2.7 版本开始,您还可以通过添加-h
and/or-b
选项来获得可读的输出:
-b 显示正文内容。
-h 显示邮件头内容。
-q 在 Postfix 队列中搜索命名的文件,而不是按照字面意思来理解。
因此这将向您显示带有标题和正文的整个原始消息:
id=DEDCB58048B
postcat -bh -q $id
或者显示所有排队消息的标题,你可以执行以下操作:
mailq | awk '/^[A-F0-9]+\s+/ {print $1}' \
| while read id; do echo $id; postcat -h -q $id; echo; done