VERIFY(8)                                                            VERIFY(8)

NAME
       verify - Postfix address verification server

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.

       The verify(8) server implements the following requests:

       update address status text
              Update the status and text of the specified address.

       query address
              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
       Problems and transactions are logged to syslogd(8) or postlogd(8).

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 denylisted 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)  pro-
       cesses are long-lived. Use the command "postfix reload" after a config-
       uration 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  data-
              base 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.

       address_verify_relayhost ($relayhost)
              Overrides  the relayhost parameter setting for address verifica-
              tion probes.

       address_verify_transport_maps ($transport_maps)
              Overrides the transport_maps parameter setting for address veri-
              fication probes.

       address_verify_local_transport ($local_transport)
              Overrides the local_transport parameter setting for address ver-
              ification probes.

       address_verify_virtual_transport ($virtual_transport)
              Overrides the virtual_transport parameter  setting  for  address
              verification probes.

       address_verify_relay_transport ($relay_transport)
              Overrides the relay_transport parameter setting for address ver-
              ification probes.

       address_verify_default_transport ($default_transport)
              Overrides the default_transport parameter  setting  for  address
              verification probes.

       Available in Postfix 2.3 and later:

       address_verify_sender_dependent_relayhost_maps          ($sender_depen-
       dent_relayhost_maps)
              Overrides  the sender_dependent_relayhost_maps parameter setting
              for address verification probes.

       Available in Postfix 2.7 and later:

       address_verify_sender_dependent_default_transport_maps  ($sender_depen-
       dent_default_transport_maps)
              Overrides the sender_dependent_default_transport_maps  parameter
              setting for address verification probes.

SMTPUTF8 CONTROLS
       Preliminary SMTPUTF8 support is introduced with Postfix 3.0.

       smtputf8_autodetect_classes (sendmail, verify)
              Detect  that  a message requires SMTPUTF8 support for the speci-
              fied mail origin classes.

       Available in Postfix version 3.2 and later:

       enable_idna2003_compatibility (no)
              Enable  'transitional'  compatibility   between   IDNA2003   and
              IDNA2008,  when  converting UTF-8 domain names to/from the ASCII
              form that is used for DNS lookups.

MISCELLANEOUS CONTROLS
       config_directory (see 'postconf -d' output)
              The default location of the Postfix main.cf and  master.cf  con-
              figuration files.

       daemon_timeout (18000s)
              How  much  time  a  Postfix  daemon process may take to handle a
              request before it is terminated by a built-in watchdog timer.

       ipc_timeout (3600s)
              The time limit for sending  or  receiving  information  over  an
              internal communication channel.

       process_id (read-only)
              The process ID of a Postfix command or daemon process.

       process_name (read-only)
              The process name of a Postfix command or daemon process.

       queue_directory (see 'postconf -d' output)
              The location of the Postfix top-level queue directory.

       syslog_facility (mail)
              The syslog facility of Postfix logging.

       syslog_name (see 'postconf -d' output)
              A  prefix  that  is  prepended  to  the  process  name in syslog
              records, so that, for example, "smtpd" becomes "prefix/smtpd".

       Available in Postfix 3.3 and later:

       service_name (read-only)
              The master.cf service name of a Postfix daemon process.

SEE ALSO
       smtpd(8), Postfix SMTP server
       cleanup(8), enqueue Postfix message
       postconf(5), configuration parameters
       postlogd(8), Postfix logging
       syslogd(8), system logging

README FILES
       ADDRESS_VERIFICATION_README, address verification howto

LICENSE
       The Secure Mailer license must be distributed with this software.

HISTORY
       This service was introduced with Postfix version 2.1.

AUTHOR(S)
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

       Wietse Venema
       Google, Inc.
       111 8th Avenue
       New York, NY 10011, USA

                                                                     VERIFY(8)