Postfix is a new, highly-efficient and highly-secure Mail Transport Agent
written by Wietse Venema. It was previously known as VMailer.
Visit the Postfix home page to find
out more. Latter
development having been supported by IBM, it can also be found at IBM's
alphaWorks
Secure Mailer
page.

This page presents my humble contributions to Postfix.

Warning:download these, don't copy-and-paste! Copy-and-paste can result in lines being unintentionally wrapped and
hard-tabs being converted to spaces. Not a Good Thing.

Note to Lynx users: I've received a couple of reports by people downloading
pflogsumm with Lynx that the download has long lines wrapped (see "Warning"
above.) Naturally, this breaks pflogsumm.

Copyright, License, and Disclaimer

All of the programs, applications, and utilities (hereinafter referred
to as "programs") on this page are Copyright (C) 1998-2004 James S. Seymour.
These programs are free software; you can redistribute them and/or
modify them under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
These programs are distributed in the hope that they will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You may receive a copy of the GNU General Public License
along with these programs; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA.
An on-line copy of the GNU General Public License can be found
here.

Postfix Log Entry Summarizer

pflogsumm.pl is designed to provide
an over-view of postfix activity, with just enough detail to give the
administrator a "heads up" for potential trouble spots. The
following is an over-view of the reports produced:

Optional SMTPD totals for number of connections, number of hosts/domains
connecting, average connect time and total connect time

Per-Day Traffic Summary (for multi-day logs)

Per-Hour Traffic (daily average for multi-day logs)

Optional Per-Hour and Per-Day SMTPD connection summaries

Sorted in descending order:

Recipient Hosts/Domains by message count, including:

Number of messages sent to recipient host/domain

Number of bytes in messages

Number of defers

Average delivery delay

Maximum delivery delay

Sending Hosts/Domains by message and byte count

Optional Hosts/Domains SMTPD connection summary

Senders by message count

Recipients by message count

Senders by message size

Recipients by message size

with an option to limit these reports to the top nn.

A Semi-Detailed Summary of:

Messages deferred

Messages bounced

Messages rejected

Summaries of warnings, fatal errors, and panics

Summary of master daemon messages

Optional detail of messages received, sorted by domain, then
sender-in-domain, with a list of recipients-per-message.

Optional output of "mailq" run

Pflogsumm.pl was written using Perl 5.004. As of version 19990413-02,
pflogsumm worked with Perl 5.003, but future compatibility is not
guaranteed.

Pflogsumm.pl requires the Date::Calc module, which can be obtained
here.

Production versions have been tested more thoroughly, at more sites.
Beta versions are the result of enhancement requests and bug
reports. While also believed to produce correct results (maybe even more
accurate or better results--depending on the reason for the change), they're
labeled beta until I get enough feedback to let me know all's well. (Or I
fail to get any negative feed-back in the form of bug-reports.)>

Source & Docs: Beta-Test Version

Beta versions are the result of enhancement requests and bug
reports. While also believed to produce correct results (maybe even more
accurate or better results--depending on the reason for the change), they're
labeled beta until I get enough feedback to let me know all's well. (Or I
fail to get any negative feed-back in the form of bug-reports.)

Beta versions are thoroughly regression-tested. Deviations, if any, are
noted in the ChangeLog--as are the the reasons for them.

Source for Version 19990121-01

This was the last version of pflogsumm that supported versions of VMailer
older than version 19981023. It will be kept permanently available for that
reason. This version does not require the Date::Calc module. This version
is not compatible with Postfix versions 20021026 or beyond.

Non-English Versions of Pflogsumm

I'm looking into adding internationalization to pflogsumm. In the mean-time,
here are pointers to non-English translations done by others (note:
these might not necessarily be translations of the "latest &
greatest"):

Note to translators: I recommend you contact me before beginning a new
translation. It may be that I'm preparing to release a new version of
pflogsumm.

Pflogsumm Through A Browser

Chris Cappuccio has written a CGI script
that interfaces to pflogsumm. He described it to the postfix-users
mailing list as follows:

I wrote a tiny CGI to make pflogsumm easier to read.. (I like
being able to scroll through its output with a mouse..) It makes
it real easy.....yea... It is real easy to get running on
OpenBSD or Solaris and probably most any system that postfix
runs on.. It gives you a nice menu of options to select 'today',
'yesterday', or any of your last four rotations of your
maillog..Especially if you use postfix in a commercial
environment, other folks who don't normally use your unix
machines may still find pflogsumm's output interesting.

If you know of any others, please let me know and I'll post references
to them here.

Postix Anti-UCE Configuration "Cheat Sheet"

I've had a number of folks ask me for help with Postfix anti-UCE
configuration, and created a "cheat sheet". Last time the
subject came up, I mused that maybe I ought to officially publish the
thing. Somebody replied "Yeah. That's a nice cheatsheet."
Somebody else said "Thanks Jim. I see some stuff in there I wasn't
using." So here it is:

Postix Anti-Virus/-Worm/-Trojan Header & Body Checks

Here are the header and body checks rules I use, both at my home and my work
MTAs, to block potentially malicious attachment types. There's also a body
check to prevent Pflogsumm's reports from being rejected (Pflogsumm FAQ
item #13).

Note that these require "pcre:" map type support.
To see if your Postfix installation supports that map type, do
"postconf -m" and look for "pcre" in the output.

Postfix Mail Relay Swapper

chng-mail_relay.sh is used to
automatically swap Postfix's default mail relay between pre-determined
UUCP and SMTP hosts. Really only useful for those running a workstation
at home and who normally send and receive their email via a UUCP feed,
but would like to take advantage of "direct, fast delivery"
when they have their PPP connection up. Postfix's configuration is so
darn simple, it really lends itself well to this kind of thing :-).