Projects / MIMEDefang


MIMEDefang is a flexible MIME email scanner designed to do all kinds of email processing, including anti-virus scanning, anti-spam scanning, replacing parts of messages with URLs, adding boilerplate disclaimers, and so on. It can alter or delete various parts of a MIME message according to a Perl-based policy filter. It can also bounce messages with unacceptable attachments and modify SMTP response codes on the fly. It works with the Sendmail 8.11 and newer "Milter" API, which makes it more flexible and efficient than procmail-based approaches.

Operating Systems

Recent releases

  •  21 May 2014 14:59

    Release Notes: There have been many cosmetic improvements to watch-multiple-mimedefangs.tcl. The "md_get_bogus_mx_hosts" function now checks A records if a domain has no MX records. A forward declaration of rebuild_entity was added to avoid warnings on recent Perl versions.

    •  27 May 2013 13:57

      Release Notes: A new "action_add_entity" function allows you to add a pre-built MIME::Entity to the message. A new "load1" command shows the load in a more convenient format than the older "load" command. Additionally, "watch-multiple-mimedefangs.tcl" takes advantage of load1 to display load graphs in a more useful format. Finally, quite a few Perl deprecations, bugs, and documentation errors were fixed.

      •  23 Jan 2012 17:58

        Release Notes: This release contains three new features. A new -G option causes files created by mimedefang to be group-readable and sockets to be group-readable/writable. The multiplexor snoops in on communications and saves the Sendmail queue-ID for logging purposes. It logs the queue ID when logging a slave's STDERR. Finally, MIMEDefang passes along the client port number, server IP address, and server port number to all filter functions. In addition to the three new features, there are several minor bugfixes.

        •  20 Jul 2011 19:59

          Release Notes: This is purely a cleanup and bugfix release. Major fixes include better startup handling to avoid a race between startup of MIMEDefang and Sendmail, and better handling of long responses from scanners so the master/slave communication protocol does not become desynchronized.

          •  24 Jun 2010 20:31

            Release Notes: This fixes just one bug in 2.69 and earlier versions: The embedded Perl code did not call PERL_SET_CONTEXT after forking, which resulted in strange behavior in the scanning code.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.