home old db
documentation:zdkimfilter dkimsign redact zaggregate zfilter_db zdkimfilter.conf

"z" DKIM filter for Courier-MTA using the OpenDKIM Project's library


current--> v1.8 Tue 15 Oct 2019 10:10:13 [gpg signature] [announce] [rel.notes]
v1.7 Tue 24 Sep 2019 10:09:09 [gpg signature] [announce] [rel.notes]
v1.6 Tue 16 Jan 2018 18:01:48 [gpg signature] [announce] [rel.notes]
v1.5 Tue 21 Apr 2015 17:04:57 [gpg signature] [announce] [rel.notes]
v1.4 Thu 08 Jan 2015 16:01:37 [gpg signature] [announce] [rel.notes]
v1.3 Tue 23 Dec 2014 17:12:41 [gpg signature] [announce] [rel.notes]
v1.2 Sat 30 Mar 2013 15:03:19 [gpg signature] [announce] [rel.notes]
v1.1 Wed 05 Dec 2012 17:12:44 [gpg signature] [announce] [rel.notes]
v1.0 Sun 28 Oct 2012 20:10:41 [gpg signature] [announce]

zdkimfilter source repository can also be accessed using Subversion or a web browser. In that case, check READMEsvn before building.
For example, to get the latest sources:

Packages and installation

Gentoo: Daniel Black added this to gentoo linux. It is an old version though.

RPM: Zenon Panoussis contributed an RPM .spec, available here. It will be included in tarballs starting next version.

Debian, Travis CI: Viktor Szépe created a GitHub repository synced with Travis CI; an experimental Debian package build on AMD (Athlon) by dpkg-buildpackage -b -uc -us can be found here. Since version 1.6, the debian subdirectory is included in the tarball. That way, tarball users can issue that command instead of ./configure in order to build a Debian package instead of a local installation.

Basic installation: Toby Heywood described his own twist on DKIM + Courier-MTA on CentOS7, based on a previous post by Patrick Contreras. In addition, older tips that may be still worth considering are available in the OLD page Install and Set Up sections.

Complete installation requires a database. The examples included in the distribution are based on MySQL and explained in the DB page. This work can be customized at will, which is why they're called examples. An utility to browse the database is still missing; maybe next version will feature something to tweak per-domain options. Other "obvious" settings, such as managing bounces of sent-out reports, are not even mentioned. Finally, in order to complete DMARC installation, you need to parse aggregate reports received from your targets and possibly feed the database. You may want to consider transforming aggregate reports to more readable HTML using dmarc-xls.


(*) New in version 1.5

(Some old mumbling about where to get required software may still be valid. In particular, compiling a static version of libopendkim, patched for EAI.)


The complete installation automates sending DMARC aggregate reports.

A Python script to shield forwarded mail from strict DMARC policies —Mailman style mitigation— is published by Lindsay Haisley in linode.fmp.com/contrib/dmarc_shield.py



Keep in mind that DKIM relies on patented technology that may require a separate licence.

As far as software copyright is concerned, zdkimfilter is free software: you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

zdkimfilter is distributed in the hope that it 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 Licence for more details.

As an additional permission under GNU GPLv3 section 7,

If you modify zdkimfilter, or any covered part of it, by linking or combining it with OpenSSL, OpenDKIM, Sendmail, or any software developed by The Trusted Domain Project or Sendmail Inc., containing parts covered by the applicable licence, the licensor of zdkimfilter grants you additional permission to convey the resulting work.

Copyright (C) 2012-2019 Alessandro Vesely