---
name: "Mail::Milter::Module::ConnectRegex"
section: "3pm"
platform: "linux"
package: "libmail-milter-perl"
version: "0.07-2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/Mail::Milter::Module::ConnectRegex"
---

# Mail::Milter::Module::ConnectRegex(3pm)

milter to accept/reject connecting hosts matching regex(es)

## NAME

Mail::Milter::Module::ConnectRegex - milter to accept/reject connecting hosts matching regex(es)

## SYNOPSIS

```
    use Mail::Milter::Module::ConnectRegex;
    my $milter = new Mail::Milter::Module::ConnectRegex('^foo$');
    my $milter2 = &ConnectRegex(qw{^foo$ ^bar$}); # convenience
    $milter2->set_message('Connections from %H disallowed');
```

## DESCRIPTION

This milter module rejects any connecting host whose hostname or IP address matches user-supplied regular expressions.  It can also function as a whitelisting Chain element; see `"accept_match()"`.

## METHODS

new(REGEX\[, ...\])

Accepts one or more regular expressions, as strings or qr// precompiled regexes.  They are tested in sequence, and the first match terminates checking.  Note that all IP address literals will be enclosed in \[square brackets\]; so to test an IP address rather than a hostname, ensure those brackets exist:

```
    ^\[ADDRESS\]$
```

accept\_match(FLAG)

If FLAG is 0 (the default), a matching regex will cause the connection to be rejected.

If FLAG is 1, a matching regex will cause this module to return SMFIS\_ACCEPT instead.  This allows a `"ConnectRegex"` to be used inside a `"Mail::Milter::Chain"` container (in `accept_break(1)` mode), to function as a whitelist rather than a blacklist.

This method returns a reference to the object itself, allowing this method call to be chained.

set\_message(MESSAGE)

Sets the message used when rejecting connections.  This string may contain the substring `%H`, which will be replaced by the matching hostname or IP address.

This method returns a reference to the object itself, allowing this method call to be chained.

## BUGS

In Sendmail 8.11 and 8.12, a milter rejection at "connect" stage does not allow the reply message to be set -- it simply becomes "not accepting messages".  However, this module still attempts to set the reply code and message in the hope that this will be fixed.

## AUTHOR

Todd Vierling, \<tv@duh.org\> \<tv@pobox.com\>

## SEE ALSO

Mail::Milter::Object

## POD ERRORS

Hey! **The above document had some coding errors, which are explained below:**

- Around line 71:

  You can't have =items (as at line 83) unless the first thing after the =over is an =item
