在 Postfix 中,如何使用 Message-ID 找到收件人地址?

在 Postfix 中,如何使用 Message-ID 找到收件人地址?

我收到一封仅包含消息 ID 的电子邮件的滥用报告。如何在 Postfix 发送的电子邮件中找到收件人的电子邮件地址?

我搜索了日志,cat /var/log/mail.log } grep [ID] -C 20但我看到的消息详细信息似乎不是正确的电子邮件,因为邮件服务器主机与滥用报告不匹配。我无法确定我获取的是队列 ID 还是消息 ID。

答案1

使用 Message-ID 搜索日志将为你提供 Postfix 队列 ID:

# grep XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX mail.log
Oct  3 00:10:48 mx postfix/cleanup[25302]: YYYYYYYYYY: message-id=<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>

YYYYYYYYYY是这里的队列 ID。现在你必须再次 grep:

# grep YYYYYYYYYY mail.log
Oct  3 00:10:48 mx postfix/smtpd[25294]: YYYYYYYYYY: client=????????????????????
Oct  3 00:10:48 mx postfix/cleanup[25302]: YYYYYYYYYY: message-id=<XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX>
Oct  3 00:10:48 mx postfix/qmgr[30545]: YYYYYYYYYY: from=<[email protected], ...
Oct  3 00:10:48 mx postfix/lmtp[25306]: YYYYYYYYYY: to=<[email protected]>, ...
Oct  3 00:10:48 mx postfix/qmgr[30545]: YYYYYYYYYY: removed

如您所见,使用其中任何一个进行 grep 操作并没有太大区别。请注意,外部参与者可能会告诉您消息 ID,因为他们可能不知道您的内部队列 ID。

在我的情况下,lmtp记录了收件人地址,因为这是使用 LMTP 本地传递的邮件,但是对于发出的邮件,应该记录“收件人”地址的服务可能是smtp

无论如何,-C可能没有帮助,因为可能会有行干扰此邮件处理。另外,请注意,日志文件通常会轮换,因此您可能需要查找较旧的文件,mail.log.1等等。旧文件可能被压缩,因此请使用例如zgrep YYYYYYYYYY mail.log.2.gz,或您系统上的任何名称。

相关内容