我有一个 Courier MTA,它似乎在发送垃圾邮件。我想抓取 courier 的 mail.log 来识别发送到另一个 MTA 的每封邮件:
- 发件人地址
- Courier 从哪里获得电子邮件
以下是 Courier 的 mail.log 条目,其中包含一封(非垃圾邮件)电子邮件,该邮件来自运行 sendmail 的机器内部。Sendmail 将电子邮件转发给 Courier MTA,然后将其发送到 gmail 的 MTA 之一。
Mar 4 08:49:01 triplite courierfilter: zdkimfilter[24066]:id=00000000003E06E2.0000000054F7296D.00005E01: signing for production with domain some.where, selector somewhere-dkim
Mar 4 08:49:01 triplite courierfilter: zdkimfilter[24066]:id=00000000003E06E2.0000000054F7296D.00005E01: response: 250 Ok.
Mar 4 08:49:01 triplite courierd: newmsg,id=00000000003E06E2.0000000054F7296D.00005E01, auth=production: dns; alum.internal.some.where ([::ffff:10.1.0.52])
Mar 4 08:49:01 triplite courierd: started,id=00000000003E06E2.0000000054F7296D.00005E01,from=<[email protected]>,module=esmtp,host=gmail.com,addr=<[email protected]>
Mar 4 08:49:01 triplite courierd: Waiting. shutdown time=none, wakeup time=Wed Mar 4 08:49:03 2015, queuedelivering=72, inprogress=1
Mar 4 08:49:03 triplite courieresmtp: id=00000000003E06E2.0000000054F7296D.00005E01,from=<[email protected]>,addr=<[email protected]>: 250 2.0.0 OK 1425484143 c10si5455351pds.183 - gsmtp
Mar 4 08:49:03 triplite courieresmtp: id=00000000003E06E2.0000000054F7296D.00005E01,from=<[email protected]>,addr=<[email protected]>,size=1251,success: delivered: gmail-smtp-in.l.google.com [74.125.28.27]
Mar 4 08:49:03 triplite courieresmtp: id=00000000003E06E2.0000000054F7296D.00005E01,from=<[email protected]>,addr=<[email protected]>,size=1251,status: success
Mar 4 08:49:03 triplite courierd: completed,id=00000000003E06E2.0000000054F7296D.00005E01
似乎“newmsg”行会告诉我电子邮件来自哪里。但我不确定要键入哪些日志条目才能查看邮件是否已发送到另一个 MTA。“success: Delivered”是正确的吗?还有其他方法可以让已发送的电子邮件显示在日志中吗?
答案1
是的,“newmsg”告诉 DNS 源中继的身份。它包含一个“auth=”条目,以防提交经过身份验证。“couriersmtp”(没有最后的“d”)是 SMTP 客户端,通常依次中继。理论上,邮件也可以通过 UUCP 中继,这在当今是一种相当不常见的情况。
您可能想要查看 Courier-analog,它是一个简单的 Perl 脚本,可以通过分析日志生成(html)活动摘要。