My experience with mailing list software revolves around qmail and ezmlm-idx. With a few small scripts, I was able to support a wide variety of new use cases not inherently supported by
ezmlm-idx itself. The features that are generically useful outside of The Apache Software Foundation are laid out below. To use these files follow this layout unless you are comfortable adjusting the paths in the scripts yourself.
bin/sender-demunger is a little wrapper script that enables
SENDER demunging for
ezmlm-idx. To use it you simply add it as a prefix to all of the lines in your
</manager/> blocks within
.ezmlmrc and run
ezmlm-make -+ on your lists, or in a pinch assuming you will not run
ezmlm-make again on your lists, edit the
manager files within your list directories.
Both specifications revolve around providing temporary addresses to the
MAIL FROM envelope portion, which embed the original address in an easily decipherable way. But these temporary addresses are anathema to
ezmlm-idx‘s subscription and moderation systems, and the
sender-demunger.pl script mentioned above will fix that once deployed.
See bin/ezmlm-dmarc-filter.pl and bin/ezmlm-seekable-stdin.pl and lib/pull_header.pm. To use these scripts, change the lines in your
</editor/> section of
.ezmlmrc that call
ezmlm-send, to look like the following:
|/path/to/bin/ezmlm-dmarc-filter.pl '<#D#>/dmarc' | /path/to/bin/ezmlm-seekable-stdin.pl /path/to/bin/sender-demunger.pl <#B#>/ezmlm-gate -rY '<#D#>' '<#D#>' '<#D#>/digest' '<#D#>/allow' '<#D#>/mod'
|/path/to/bin/ezmlm-dmarc-filter.pl '<#D#>/dmarc' | /path/to/bin/sender-demunger.pl <#B#>/ezmlm-store '<#D#>'
|/path/to/bin/ezmlm-dmarc-filter.pl '<#D#>/dmarc' | <#B#>/ezmlm-send -r '<#D#>'
This assumes you will touch a file named
dmarc in any list directories where you want to enable the filter. You can configure
.ezmlmrc to do this by adding the following block to that file:
The only list configurations that run afoul of
DMARC are those with
-x set. The above configuration will adjust for that.
In case you haven’t kept up with the times, there is a recent movement afoot to introduce strong DMARC policies that reject messages which fail DKIM signature tests. Facebook, Twitter, LinkedIn, Yahoo! and now AOL have been leading this charge into new territory, forcing mailing list operators to deal with the situation. What the
ezmlm-dmarc-filter.pl does, and this isn’t the only possible solution to the problem, is drop the
DKIM-Signature header for any such domain, and add an
.INVALID suffix to the sender’s
From header address. It has the advantage of being one of the simplest solutions that works, so I’m offering it here. So far the domains that deploy strict
DMARC policies all provide appropriate
Reply-To headers, so these changes made by
ezmlm-dmarc-filter.pl will not impact the operation of any RFC-compliant email responses to such messages.
$Date: 2020-08-27 19:16:29 -0400 (Thu, 27 Aug 2020) $