About / News
The Sendmail/Postfix log analyzer
SendmailAnalyzer as is name suggest is a free Sendmail/Postfix log analyzer. It process maillog files and generate dynamic statistics in HTML and graphical output. The reports are generated in real time so that it let you know at any moment what is going on your mail servers. It use time (hour, day, month and year views) and cross-linked navigation for easy use.
SendmailAnalyzer is easy to install and highly configurable to match the dozen of Sendmail possible configurations. It also support report for all the major milter or sendmail filters like SpamAssassin, MailScanner, Clamav, Amavis, RBL check, J-ChkMail, etc. SendmailAnalyzer is really helpful for IT reporting.
Collected data are stored in flat files that are automatically archived or delete to keep disk space. All reports before the current day are cached to save system resources and are displayed in less than 1 second.
SendmailAnalyzer can be run on a home dedicated mail server, on multiple enterprise mail servers and on ISP mail servers for free. A single instance of SendmailAnalyzer can be used to monitor multiple sendmail server throught rsyslog. Since version 6.2 multiple rsyslog host report can be merge in a single report.
This is the most advanced and complete statistics tool dedicated to the great Sendmail MTA. It's goal is not to support any kind of MTA or other log format but only being a full featured tool for Sendmail users and administrators. If you're searching something more general and not free take a look at SawMill, it's not so bad :-)
Version 8.7 - Saturday January 05 2013
This release fixes a major bug which prevented logs from being parsed after the new year change.
- Fix major bug with new year change when LAST_PARSED has a last line parsed from December. Thanks to Richard Victor Correia for the report. - Fix the .sample configuration file install in doc/ folder when building an RPM. Thanks to Igor Vuk for the patch. UPGRADE: Only the sendmailanalyzer Perl script and the .spec file have changed. If you found the bug about new year change, you have to: 1) stop sendmailanalyzer if it runs as daemon 2) replace the content of the LAST_PARSED file generated into the output directory with the following: Jan 1 00:00:00 - note the double space between Jan and the number 1. 3) replay all the log file generated from the new year with command: /usr/local/sendmailanalyzer/sendmailanalyzer -f -b -i -l logfile 4) if you use the daemon mode, restart sendmailanalyzer.
Version 8.6 - Thuesday December 26 2012
This release improve support to Postfix with Dovecot and Spamd, there's also several bug fixes.
- Fix details search of top sender and status in top rejected stats. Thanks to Arthur Gouros for the report. - Add SKIP_RCPT_RELAY configuration directive to bypass local delivery messages that double the count of messages. Default is dovecot. Thanks to Richard Victor Correia for the report. - Change install to copy sendmailanalyzer.conf.sample into the doc/ directory and copy sendmailanalyzer.conf into etc/ if none already exist. Thanks to Igor Vuk for the report. - Fix search of rejected message on domain. Thanks to Arthur Gouros for the report. - Fix virus name storage with spamd-milter quarantine detection. Thanks to Bill V for the report. - Change menu "Rejection & Errors" into "Rejection and Events". - Fix missing system message when it was registered at same time than a previous one. - Reorder command line option, short before long. - Fix top authid with anonymous TLS SMTP auth. - Add support to syslog high resolution timestamp. Thanks to Richard Victor Correia for the report. - Replace .orig extension into .sample. - Add anonymous TLS connection established into auth report instead, of errors/events report. Thanks to Arthur Gouros for the suggestion. - Fix top domain name search in top rejected view. Thanks to Arthur Gouros for the report. - Change in .spec file to reflect the config file renaming. Thanks to ivuk fro the patch. - Add missing spamd historical report in sa_cache. Thanks to Bill V for the report. UPGRADE: you may reinstall all files and edit your configuration file to add the the SKIP_RCPT_RELAY directive and set its value to dovecot if you are using it for local delivery.
Version 8.5 - Sunday December 16 2012
This is a bugs fix release with better signal handling and spam logs detection.
- Fix spam report with spamd and add spamd to the SPAM_TOOLS configuration directive. Thanks to Bill V for the report. - Update documentation about start script and signal handling. - Add new starter file for distribution using systemd at init and a README file to explain how to install those scripts. Thanks to Durwin for the report. - Fix typo in regex pattern of spamd lines detection. Thanks to Bill V for the report. - Fix removing of pid file which in some case was not removed. - Fix signal handler on SIGTERM. - sendmailanalyzer.conf will now be installed as sendmailanalyzer.conf.orig. - Fix issue in spam message detection. Thanks to Stefan Berger for the report. - Fix case where recipient was not collected on postfix servers because the Sent status in in lower case. Thanks to Kalpesh Patel for the report.
UPGRADE: you may reinstall all files and edit your configuration file to add the spamd keyword to the SPAM_TOOLS directive if you have the spamd installed.
Version 8.4 - Friday July 13 2012
This is a bug fix release, with the addition of the SIGHUP signal handler to allow a full restart of sendmailanalyzer forcing it to reread configuration and reopen the log file.
- Add signal handler to SIGHUP to allow a full restart of sendmailanalyzer to force reread configuration file and reopen the pipe to the log file. Suggested by Vicky Brown. - Allow character @ in secure_param() to allow syslog-ng remote host syntax. Reported by Leon van Ofwegen. - Add more information on CGI param error returned by secure_param(). - Add logrotate example to restart sendmailanalyzer in main documentation. Reported by Vicki Brown. - Fix a bug in Top Authid where number was always 1. Reported by Dan Szkola.
UPGRADE: you'd better reinstall all files after saving your configuration. Unless you just want to copy sendmailanalyzer and sa_report.cgi that are the only files that have changed as well as the documentation.
Version 8.3 - Friday June 01 2012
This is a major bug fix release, please upgrade now if you are using SendmailAnalyzer v8.x.
- Fix a major bug in sa_cache that could lead in totally false statistics. Please upgrade ASAP. Thanks to Dan Szkola for the report. - SendmailAnalyzer now fully support Cyrillics character with the help of two new configuration directives HTML_CHARSET and TTFONT. The first must be set to 'utf-8' and the second to a true type font file. Thanks to Nikolay G. Petrov for the report.
UPGRADE: you'd better reinstall all files as all perl script have changed after saving your configuration file. If you have the sa_cache bug and your stats are wrong, chance if you have FREE_SPACE to archive as by following the "Archiving" chapter in the admin guide (http://sendmailanalyzer.darold.net/admin.html) you will be able to rerun sa_cache.
Version 8.2 - Sunday March 11 2012
This release add reports of smf-spf milter into reject statistics and fix bug on syslog truncated message.
- Fix a case where Amavis spam detail are not collected du to syslog message truncating. Thanks to Przemyslaw Sikora for the report. - Add report of Sendmail milter smf-spf, they will be reported with rejected/error message. Thanks to Przemyslaw Sikora for feature request. - Remove a man page wrong named with double extension mark. Thanks to John Lockard for the report.
Version 8.1 - Sunday January 08 2012
This release fixes some minor bugs and adds support to Postgrey statistic reports. There's also a new german translation file and some new configuration directives.
- Add german translation file. Thanks to Sven Wehner for the contribution. - Fix count for the authid login id which always shows 1 for all users. Thanks to Mark Price for the report. - Fix unterminated column html tag in reject statistics. - Fix top Spam statistics on spamassassin autolearn information. - Add support to postgrey statistics. Thanks to John Lockard for the feature request. - Add POSTGREY_NAME configuration directive to change the default syslog ident name of Postgrey. See configuration file for more information. - Add POSTGREY_VIEW configuration directive to enable/disable the postgrey link into the menu. Disable by default for backward compatibility. UPGRADE: if you don't want to use the install procedure, you can overwrite all Perl and CGI scripts as well as all language files. Backward compatibility of data files are fully preserved.
Demo Site is down - Thuesday August 25 2011
The historical sponsor of the demo site (Groupe SAMSE) has choosen to not renew the hosting support. I've replaced the link by a page with static screenshots. If you want you can help this project by offering a link to a dynamic anomyzed demo site with all reports, of course the name of your company can appears.
Version 8.0 - Monday August 08 2011
This is a major release even if it is fully compatible with old data files, the caching scheme has been reviewed to better handle millions of emails a day with very low memory footprint. The issue was reported by Martin Culak with around 1,5 million of messages per days, great thanks to him, it help a lot for this release.
- Remove day_cache program, the daily caching is now integrated into the sa_cache script with the option -a or --actual-day-only. With huge data you still need to run sa_cache each five minutes within crontab. - The caching files are now build per hour to avoid "Out of memory" on very busy servers. So now you have cache files generated per hour, per day, per month and year. - CGI script sa_report have been reviewed to handle those new cache file and to always display the reports in the second. - A lot of work have been made to add more support to PostFix logs and postscreen milter. - Fix missing link to detailed informations when there was just one data file in the directory. - Limit numbers of top sender/recipient in pie graph to maximum 10. - Add pid file support to sa_cache to prevent parallel execution. After a system crash you may need to remove those pid files if you want sendmailanalyzer and sa_cache to be run again. - Documentation reviewed. UPGRADE: if you don't want to reinstall all and restart with empty data, you can overwrite all Perl and CGI scripts. Backward compatibility of data files are fully preserved but you may experience an error message on hours views on old cached data. The error message is: "No cache file yet for this hour, please wait for next run of 'sa_cache --actual-day-only'." Remember to remove the day_cache perl script ans replace your call to day_cache in to your cron job by the new command: sa_cache --actual-day-only If you want to be able to see the old hours view without error messages or no record found you can keep the previous version of the sa_report.cgi script to still view those report.
Version 7.2 - Sunday July 31 2011
This release add support of unqueued messages rejected by check_relay ruleset. It also add three new pie graphs for messaging status, top sender and recipient relays.
- Add support of ruleset check_relay logged without sendmail id. Thanks to Jeff Kaminski for the report. - Add 'FaKe' prefix to automatic generated id, so that you don't waste your time to search for a sendmail id into the log corresponding to the sendmailanalyzer unique id. - Add a note in INSTALL file about sendmail LogLevel configuration directive. The default value 9 don't need to be change to have SendmailAnalyzer report, by increasing this value all debug messages will be detected as error or rejection, so don't change this value. Thanks to Jeff Kaminski for the comment. - Add message status percentage pie graph on Global Statistics Status screen. Only status upper or equal than 1% are shown. - Add sender relay percentage pie graph on Top Statistics Senders screen. Only sender relays upper or equal than 1% are shown. - Add recipient relay percentage pie graph on Top Statistics Recipients screen. Only recipient relays upper or equal than 1% are shown. UPGRADE: overwriting all Perl scripts will do the work if you don't want to reinstall all. Backward compatibility of data files are fully preserved.
Version 7.1 - Friday July 08 2011
This is a bugfixes release to solve issue on email addresses without domain part. It also fix a delivery direction problem when recipient relay was localhost.
- Fix delivery direction bug when destination relay was localhost. - Fix an error on domain report when the email address doen't have one but just the username. Thanks to John Duthie for the report. - Add a new configuation directive DEFAULT_DOMAIN to add to an email address if there's just the username (see fix above). By default SendmailAnalyzer will add the '@localhost' domain but you may want to change this domain, so use this directive. UPGRADE: You can reinstall all or just override all Perl scripts, the backward compatibility with old data files is fully preserved.
Thuesday June 09 2011
After one year, a new SendmailAnalyzer release v7.0 is out. This is a major release that adds support to Postfix mail.log statistical reports and fixes some issues. The backward compatibility with older data files is fully preserved.
- Add first support to Postfix mail log statistical reports. Thanks to Mario Hobel the sample log file and for people who asked the feature. - Fix pattern error during catching relevant logs on full read mode. - Fix mail id to Amavis virus message id mapping. - Fix duplicate count of spam recipient on search view. - Fix stderr message of tar command call in sa_cache. - Add DSN_VIEW configuration directive to enable/disable Notification views. Default show it: 1 UPGRADE: You can reinstall all or just override all Perl scripts.
Thuesday May 27 2010
Release v6.4 adds support to dnsbl-milter and fix a bug in the link to spam detail view.
Thuesday May 06 2010
Release v6.3 is out. This release fix a cross scripting vulnerability using CGI parameters as well as a major bug in top statistic counting with value containing single quote.
Wednesday Mars 03 2010
Thanks to Lee Schlesinger from SourceForge.net who add project highlight for SendmailAnalyzer on the SF community blog. You can read it here: SendmailAnalyzer is enterprise-ready.
Wednesday Febuary 10 2010
New release v6.2 is out. This release add some new interesting features.
- MERGING_HOST is a configuration directive that allow aggregation of multiple mailhost that syslogs to a remote server throught rsyslog to have only one SendmailAnalyzer report. Thanks to Slamp for the feature request. - When using Mailscanner with clamd (not clamscan) if you want virus report you must configure clamd to log with syslog and use LOG_MAIL. If the default syslog name od clamd process is not 'clamd' use the CLAMD_NAME configuration directive to change the default value. This fix virus report for Mailscanner and clamd. - On some mailhost determining the messaging directions is difficult and return wrong information. Set SHOW_DIRECTION configuration directive to 0 to disable direction statistics reports. - Fix "No record for this period" on Top SMTP Auth statistics if no data where found.
Wednesday January 20 2010
New release v6.1 is out. This is a maintenance release.
- Fix RPM build spec file that was overriding http sendmailanalyzer.conf by the main sendmailanalyzer.conf. - Fix email addresses enclosed between <> not displayed on Top System messages interface. - Fix Messaging Status report of 'User unknown'. Removed ESMTP code. - Add fallback to /etc/sendmailanalyzer.conf if default config file doesn't exist to simplifying upgrade with packaging or custom install.
Sunday January 10 2009
This is time to release v6.0. The major version upgrade is for complete rewrite of the SendmailAnalyzer package to allow easy install and packaging support (RPM, Debian and Slackbuild) as well as bug fix. Backward compatibility with old data files is preserved.
Saturday January 9 2009
First release of the SendmailAnalyzer Web site. If your are kind enought to send me comment be sure that this will be very appreciated.
Copyright (c) 2002-2012 Gilles Darold - All rights reserved. (GPL v3).