---
name: "mimedefang.pl"
section: "8"
platform: "linux"
package: "mimedefang"
version: "3.6-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mimedefang.pl"
---

# mimedefang.pl(8)

Perl script to scan MIME messages.

## NAME

mimedefang.pl - Perl script to scan MIME messages.

## SYNOPSIS

**mimedefang.pl \[-f *filter*\] *dir***

## DESCRIPTION

**mimedefang.pl** is a Perl script designed to work with [**mimedefang**(8)](/mimedefang/8.md).  It takes a single argument which is a directory which should contain files laid out as described in [**mimedefang**(8)](/mimedefang/8.md).

## OPTIONS

- **-f *filter***

  Specifies the name of the file containing the filter.  If this option is omitted, the default filter **/etc/etc/mimedefang-filter** is used.

## OPERATION

**mimedefang.pl** evaluates the file **/etc/etc/mimedefang-filter** as a Perl fragment.  This file should define the **filter** procedure. For each part of a MIME message, **mimedefang.pl** calls **filter** and disposes of the part as instructed by the filter.  The various modes of disposition are described in [**mimedefang-filter**(5)](/mimedefang-filter/5.md).

## TESTING FILTERS

You are *strongly* recommended to test your filter before installing it in **/etc/etc/mimedefang-filter**.  To test the filter, save it in a file (e.g. **test-filter**) and run this command:

```
	mimedefang.pl -f test-filter -test
```

This tests the filter for syntactic correctness.  If it passes, you can install it as a production filter.  (Note that the test tests only for correct Perl syntax; it doesn't make sure your filter does something sensible.)

## MISCELLANEOUS OPTIONS

There are a few other ways to invoke mimedefang.pl:

```
	mimedefang.pl -features
```

prints a list of detected optional Perl modules.  The output looks something like this:

```
	SpamAssassin: yes
```

```
	mimedefang.pl -validate
```

calls the function filter\_validate, if it is defined in your filter. filter\_validate should return an integer; this becomes the exit code. If filter\_validate does not exist, an error message is printed and **mimedefang.pl** exits with an exit code of 1.

## AUTHOR

**mimedefang.pl** was written by Dianne Skoll \<dfs@roaringpenguin.com\>. The **mimedefang** home page is *https://www.mimedefang.org/*.

## SEE ALSO

[mimedefang(8)](/mimedefang/8.md), [mimedefang-filter(5)](/mimedefang-filter/5.md), [mimedefang-protocol(7)](/mimedefang-protocol/7.md), [mimedefang-release(8)](/mimedefang-release/8.md)
