---
name: "Courier::Filter::Module::DNSBL"
section: "3pm"
platform: "linux"
package: "courier-filter-perl"
version: "0.200+ds-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Courier::Filter::Module::DNSBL"
---

# Courier::Filter::Module::DNSBL(3pm)

DNS black-list filter module for the Courier::Filter framework

## NAME

Courier::Filter::Module::DNSBL - DNS black-list filter module for the Courier::Filter framework

## SYNOPSIS

```
    use Courier::Filter::Module::DNSBL;

    my $module = Courier::Filter::Module::DNSBL->new(
        zones       => \@dns_zones,

        logger      => $logger,
        inverse     => 0,
        trusting    => 0,
        testing     => 0,
        debugging   => 0
    );

    my $filter = Courier::Filter->new(
        ...
        modules     => [ $module ],
        ...
    );
```

## DESCRIPTION

This class is a filter module class for use with Courier::Filter.  It matches a message if the sending machine's IP address (currently IPv4 only) is listed by one of the configured DNS black-lists.

### Constructor

The following constructor is provided:

- **new(%options)**: returns *Courier::Filter::Module::DNSBL*

  Creates a new **DNSBL** filter module.

  `%options` is a list of key/value pairs representing any of the following options:

  - **zones**

    *Required*.  A reference to an array containing the DNS zone names of the black-lists to be used.

  All options of the **Courier::Filter::Module** constructor are also supported. Please see "**new()**" in Courier::Filter::Module for their descriptions.

### Instance methods

See "Instance methods" in Courier::Filter::Module for a description of the provided instance methods.

## SEE ALSO

Courier::Filter::Module, Courier::Filter::Overview.

For AVAILABILITY, SUPPORT, and LICENSE information, see Courier::Filter::Overview.

## AUTHOR

Julian Mehnle \<julian@mehnle.net\>
