Scroll to navigation

Mail::Milter::Module::ConnectRegex(3pm) User Contributed Perl Documentation Mail::Milter::Module::ConnectRegex(3pm)

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:

You can't have =items (as at line 83) unless the first thing after the =over is an =item
2023-01-22 perl v5.36.0