刮logging以识别发送到另一个MTA的电子邮件

我有一个似乎在发送垃圾邮件的快递MTA。 我想刮快递的mail.log,以确定,每个邮件发送到另一个MTA:

  • 来自地址
  • 信使从哪里收到邮件

以下是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的消息。 “成功:交付”是正确的吗? 有没有其他方式发送电子邮件在日志中显示?

是的,“newmsg”告诉dns始发中继的标识。 它包含一个“auth =”条目,以防提交被authentication。 “couriersmtp”(没有最后的“d”)是SMTP客户端,通常依次中继。 理论上来说,邮件也可以通过UUCP来传递,这是一个非常不寻常的情况。

您可能需要检查Courier-analog,它是一个简单的Perl脚本,通过分析日志来生成(html)活动摘要。