<p>Our web application sends e-mails. We have lots of users, and we get lots of bounces. For example, user changes company and his company e-mail is no longer valid.</p>

<p>To find bounces, I parse SMTP log file with log parser. The logs come from Microsoft SMTP server.</p>

<p>Some bounces are great, like <code>550+#5.1.0+Address+rejected+user@domain.com</code>. There is <code>user@domain.com</code> in bounce.</p>

<p>But some do not have e-mail in error message, like <code>550+No+such+recipient</code>.</p>

<p>I have created simple Ruby script that parses logs (uses log parser) to find which mail caused something like <code>550+No+such+recipient</code>.</p>

<p>I am just surprised that I could not find a tool that does it. I have found tools like Zabbix and Splunk for log analysis, but they look like overkill for such simple task.</p>

<p>Anybody knows a tool that would parse SMTP logs, find bounces and e-mails that cause them?</p>

This
article
is exactly what you are looking for. It is based on the great tool
log parser
.
Log parser is a powerful, versatile
  tool that provides universal query
  access to text-based data such as log
  files, XML files and CSV files, as
  well as key data sources on the
  Windows® operating system such as the
  Event Log, the Registry, the file
  system, and Active Directory®.  You
  tell Log Parser what information you
  need and how you want it processed.
  The results of your query can be
  custom-formatted in text based output,
  or they can be persisted to more
  specialty targets like SQL, SYSLOG, or
  a chart.  Most software is designed to
  accomplish a limited number of
  specific tasks. Log Parser is
  different... the number of ways it can
  be used is limited only by the needs
  and imagination of the user.  The
  world is your database with Log
  Parser.