VERIFY

NAME

SYNOPSIS

verify [generic Postfix daemon options]

DESCRIPTION

The verify(8) address verification server maintains a record
of what recipient addresses are known to be deliverable or
undeliverable.

Addresses are verified by injecting probe messages into the
Postfix queue. Probe messages are run through all the routing
and rewriting machinery except for final delivery, and are
discarded rather than being deferred or bounced.

Address verification relies on the answer from the nearest
MTA for the specified address, and will therefore not detect
all undeliverable addresses.

The verify(8) server is designed to run under control
by the Postfix
master server. It maintains an optional persistent database.
To avoid being interrupted by "postfix stop" in the middle
of a database update, the process runs in a separate process
group.

Look up the status and text for the specified
address.
If the status is unknown, a probe is sent and an "in progress"
status is returned.

SECURITY

The address verification server is not security-sensitive. It does
not talk to the network, and it does not talk to local users.
The verify server can run chrooted at fixed low privilege.

The address verification server can be coerced to store
unlimited amounts of garbage. Limiting the cache expiry
time
trades one problem (disk space exhaustion) for another
one (poor response time to client requests).

With Postfix version 2.5 and later, the verify(8)
server no longer uses root privileges when opening the
address_verify_map cache file. The file should now
be stored under the Postfix-owned data_directory. As
a migration aid, an attempt to open a cache file under a
non-Postfix directory is redirected to the Postfix-owned
data_directory, and a warning is logged.

DIAGNOSTICS

BUGS

Address verification probe messages add additional traffic
to the mail queue.
Recipient verification may cause an increased load on
down-stream servers in the case of a dictionary attack or
a flood of backscatter bounces.
Sender address verification may cause your site to be
blacklisted by some providers.

If the persistent database ever gets corrupted then the world
comes to an end and human intervention is needed. This violates
a basic Postfix principle.

CONFIGURATION PARAMETERS

Changes to main.cf are not picked up automatically,
as verify(8)
processes are long-lived. Use the command "postfix reload" after
a configuration change.

The text below provides only a parameter summary. See
postconf(5) for more details including examples.

PROBE MESSAGE CONTROLS

address_verify_sender ($double_bounce_sender)

The sender address to use in address verification probes; prior
to Postfix 2.5 the default was "postmaster".

Available with Postfix 2.9 and later:

address_verify_sender_ttl (0s)

The time between changes in the time-dependent portion of address
verification probe sender addresses.

CACHE CONTROLS

address_verify_map (see 'postconf -d' output)

Lookup table for persistent address verification status
storage.

address_verify_positive_expire_time (31d)

The time after which a successful probe expires from the address
verification cache.

address_verify_positive_refresh_time (7d)

The time after which a successful address verification probe needs
to be refreshed.

address_verify_negative_cache (yes)

Enable caching of failed address verification probe results.

address_verify_negative_expire_time (3d)

The time after which a failed probe expires from the address
verification cache.

address_verify_negative_refresh_time (3h)

The time after which a failed address verification probe needs to
be refreshed.

Available with Postfix 2.7 and later:

address_verify_cache_cleanup_interval (12h)

The amount of time between verify(8) address verification
database cleanup runs.

PROBE MESSAGE ROUTING CONTROLS

By default, probe messages are delivered via the same route
as regular messages. The following parameters can be used to
override specific message routing mechanisms.