Linux
如何生成觸發特定 DSN 程式碼的郵件的報告摘要
我在 CENTOS 5.x 上使用 Sendmail,我希望這是一個簡單的問題。=) 我需要生成觸發特定 DSN 程式碼的消息的報告摘要。例如:
Jan 11 07:43:34 server-example sendmail[12732]: p937blksdh3: to=<someuser@recipientdomain.com>, delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=102537, relay=mta.recipientdomain.com. [12.34.56.78], dsn=5.7.1, stat=Service unavailable
通常,我只會 grep 獲取此資訊(例如:)
grep -i "dsn=5.7.1" /var/log/maillog
。但問題是這只返回了上面的一行,並沒有告訴我消息的發件人。理想情況下,我正在尋找可以執行以下操作的單線:
- 在 sendmail 郵件日誌中搜尋特定的 DSN。
- 確定電子郵件的消息 ID。(我猜
awk '{print $}'
會被使用?)- 返回每個消息的詳細資訊(大概是對從步驟 2 中檢索到的消息 ID 進行 grepping)。
在 bash
dsn=5.7.1 $ grep $dsn /var/log/maillog | awk '{print $6}' | awk -F: '{print $1}'
返回:
p937blksdh3
在您發布的行中,我猜那是消息ID?
好吧,這不是一條線。那麼
grep
對於消息詳細資訊,消息詳細資訊保存在哪裡?