What is Mailmunge?
Mailmunge is a tool that lets you write email filtering policies in Perl. It interfaces with Sendmail or Postfix using the Milter protocol.
Who is Mailmunge for?
Mailmunge is designed for email server administrators who are comfortable programming in Perl. It is not designed for end-users who want to filter mail.
Is it called MailMunge?
No, it's called Mailmunge, capitalized just so.
On what platforms does Mailmunge run?
Mailmunge runs on any reasonably-modern Linux or UNIX system that runs Sendmail or Postfix.
Does Mailmunge work with Exim or qmail?
No. It requires an MTA that supports Milter, and neither Exim nor qmail support Milter.
Does Mailmunge run on Windows?
How is Mailmunge licensed?
Mailmunge is Free Software, released under the GNU General Public License, Version 2.
What's the history of Mailmunge?
Mailmunge is a fork of MIMEDefang by Dianne Skoll, who is also the original author of MIMEDefang. As such, although Mailmunge is new (released in 2021), it has a very long pedigree.
Why the fork?
MIMEDefang's Perl code was written before Dianne knew much about good Perl programming practices. As such, it's pretty messy and embarrassing. The filter API makes liberal use of global variables and functions, and is essentially untestable. Mailmunge keeps most of MIMEDefang's C code as-is, but substantially reworks the Perl code.
Why the new name?
There are a couple of reasons for the new name:
- I no longer have rights to use the MIMEDefang name, as it is now owned by a company that bought my company in 2018.
- Since the API has changed dramatically, changing the name makes it clear that this is a different program.
Will my MIMEDefang filter work unaltered with Mailmunge?
No. The Perl API has changed dramatically. That said, we do offer a compatibility module that should make converting MIMEDefang filters to Mailmunge relatively mechanical. Additionally, Skollsoft Consulting can be contracted to convert your MIMEDefang filter to Mailmunge.
Do I have to write my filter in Perl?
Short answer: Yes.
Long answer: In principle, you can write your filter in whatever language you like as long as it follows the protocol for communication between the filter program and the Mailmunge milter.
However, Mailmunge ships with an extensive library of Perl code that simplifies filter-writing. You'd have to replicate all of that if you wanted to use a different language for your filter.
Can I install Mailmunge and MIMEDefang at the same time?
Yes! They use different user-ids, different spool directories and different configuration directories. Installing them both is a viable way to migrate from MIMEDefang to Mailmunge; you can move your filtering policies over gradually.
Should I use Mailmunge or MIMEDefang?
Short answer: Everyone should use Mailmunge.
Long answer: If you do not have an existing MIMEDefang filter, then Mailmunge is the clearly superior choice. If you do have an existing MIMEDefang filter, then migrating it to Mailmunge will incur a cost. I think the benefits will be well worth it, but this is something you'll have to decide.
Why does my virus scanner claim that the Mailmunge tar file contains a virus?
Mailmunge includes a regression-test that tests a virus scanner. As such, the EICAR test file is included in the archive and might trigger some virus scanners.
Hey! Where did all the virus-scanner integration functions go?
Mailmunge does not include virus scanner integration. The reason is simple: Use the excellent File::VirusScan module instead. There's no point in cluttering the core code with functions that you might not want when you can easily pull in a CPAN module if you do want virus-scanner integration.
Who funds Mailmunge development?
Currently, Mailmunge development is done without any formal funding. But donations are gratefully accepted.
Copyright © 2022 Skoll Software Consulting