Plugin to reject mails if the IP address of the client doesn't resolve to a hostname.


The following parameters can be passed to require_resolvable_client:

per_recipient <bool>

Per recipient flag - if this is set, the plugin is only run for recipients which have recipient_option 'require_resolvable_client' set. This can be set by the aliases plugin. Default: 0.

at_connect <bool>

If this flag is set, the temporary failure will be generated immediately after the connect and the connection will be terminated. Otherwise, it will be generated in response to RCPT TO commands. Dropping the connection immediately saves resources and prevents address harvesting. On the other hand, it cannot be (de)activated per recipient. Default: 0

permfail <bool>

If this flag is set, a permanent failure is reported. Otherwise it is only a temporary failure, giving the admin of the client a chance to fix the problem before the user notices it. Default: 0

forward_lookup <bool>

If this flag is set, an additional forward DNS check (hostname to IP) is performed. Otherwise, only the reverse DNS check is performed. Default: 1


This plugin makes use of the following connection notes:


If true, do nothing. This note is usually set by the client_options plugin.

and of the following transaction notes:


If true, the check is performed for the current recipient. If it is a hashref containing the key forward_lookup, the value overrides the global configuration parameter forward_lookup.

This note is only used if the per_recipient flag is set. It is usually set by the aliases plugin.


Copyright (c) 2006 Peter J. Holzer <>.

This plugin is licensed under the same terms as the qpsmtpd package itself. Please see the LICENSE file included with qpsmtpd for details.