{
    "mode": "man",
    "parameter": "verify",
    "section": "8postfix",
    "url": "https://www.chedong.com/phpMan.php/man/verify/8postfix/json",
    "generated": "2026-10-04T22:21:22Z",
    "synopsis": "verify [generic Postfix daemon options]",
    "sections": {
        "NAME": {
            "content": "verify - Postfix address verification server\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "verify [generic Postfix daemon options]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  verify(8) address verification server maintains a record of what recipient addresses are\nknown to be deliverable or undeliverable.\n\nAddresses are verified by injecting probe messages into the Postfix queue. Probe messages are\nrun through all the routing and rewriting machinery except for final delivery, and  are  dis‐\ncarded rather than being deferred or bounced.\n\nAddress verification relies on the answer from the nearest MTA for the specified address, and\nwill therefore not detect all undeliverable addresses.\n\nThe  verify(8) server is designed to run under control by the Postfix master server. It main‐\ntains an optional persistent database.  To avoid being interrupted by \"postfix stop\"  in  the\nmiddle of a database update, the process runs in a separate process group.\n\nThe verify(8) server implements the following requests:\n\nupdate address status text\nUpdate the status and text of the specified address.\n\nquery address\nLook  up  the  status and text for the specified address.  If the status is unknown, a\nprobe is sent and an \"in progress\" status is returned.\n",
            "subsections": []
        },
        "SECURITY": {
            "content": "The address verification server is not security-sensitive. It does not talk to  the  network,\nand  it does not talk to local users.  The verify server can run chrooted at fixed low privi‐\nlege.\n\nThe address verification server can be coerced to store unlimited amounts of garbage.  Limit‐\ning  the  cache  expiry time trades one problem (disk space exhaustion) for another one (poor\nresponse time to client requests).\n\nWith Postfix version 2.5 and later, the verify(8) server no longer uses root privileges  when\nopening  the  addressverifymap  cache  file.  The file should now be stored under the Post‐\nfix-owned datadirectory.  As a migration aid, an attempt  to  open  a  cache  file  under  a\nnon-Postfix  directory  is  redirected  to the Postfix-owned datadirectory, and a warning is\nlogged.\n",
            "subsections": []
        },
        "DIAGNOSTICS": {
            "content": "Problems and transactions are logged to syslogd(8) or postlogd(8).\n",
            "subsections": []
        },
        "BUGS": {
            "content": "Address verification probe messages add additional traffic to the mail queue.  Recipient ver‐\nification may cause an increased load on down-stream servers in the case of a dictionary  at‐\ntack  or  a flood of backscatter bounces.  Sender address verification may cause your site to\nbe denylisted by some providers.\n\nIf the persistent database ever gets corrupted then the world comes to an end and  human  in‐\ntervention is needed. This violates a basic Postfix principle.\n",
            "subsections": []
        },
        "CONFIGURATION PARAMETERS": {
            "content": "Changes  to  main.cf  are not picked up automatically, as verify(8) processes are long-lived.\nUse the command \"postfix reload\" after a configuration change.\n\nThe text below provides only a parameter summary. See postconf(5) for more details  including\nexamples.\n",
            "subsections": []
        },
        "PROBE MESSAGE CONTROLS": {
            "content": "",
            "subsections": [
                {
                    "name": "address_verify_sender ($double_bounce_sender)",
                    "content": "The sender address to use in address verification probes; prior to Postfix 2.5 the de‐\nfault was \"postmaster\".\n\nAvailable with Postfix 2.9 and later:\n"
                },
                {
                    "name": "address_verify_sender_ttl (0s)",
                    "content": "The  time  between changes in the time-dependent portion of address verification probe\nsender addresses.\n"
                }
            ]
        },
        "CACHE CONTROLS": {
            "content": "",
            "subsections": [
                {
                    "name": "address_verify_map (see 'postconf -d' output)",
                    "content": "Lookup table for persistent address verification status storage.\n"
                },
                {
                    "name": "address_verify_positive_expire_time (31d)",
                    "content": "The time after which a successful probe expires from the address verification cache.\n"
                },
                {
                    "name": "address_verify_positive_refresh_time (7d)",
                    "content": "The time after which a successful address verification probe needs to be refreshed.\n"
                },
                {
                    "name": "address_verify_negative_cache (yes)",
                    "content": "Enable caching of failed address verification probe results.\n"
                },
                {
                    "name": "address_verify_negative_expire_time (3d)",
                    "content": "The time after which a failed probe expires from the address verification cache.\n"
                },
                {
                    "name": "address_verify_negative_refresh_time (3h)",
                    "content": "The time after which a failed address verification probe needs to be refreshed.\n\nAvailable with Postfix 2.7 and later:\n"
                },
                {
                    "name": "address_verify_cache_cleanup_interval (12h)",
                    "content": "The amount of time between verify(8) address verification database cleanup runs.\n"
                }
            ]
        },
        "PROBE MESSAGE ROUTING CONTROLS": {
            "content": "By default, probe messages are delivered via the same route as regular messages.  The follow‐\ning parameters can be used to override specific message routing mechanisms.\n",
            "subsections": [
                {
                    "name": "address_verify_relayhost ($relayhost)",
                    "content": "Overrides the relayhost parameter setting for address verification probes.\n"
                },
                {
                    "name": "address_verify_transport_maps ($transport_maps)",
                    "content": "Overrides the transportmaps parameter setting for address verification probes.\n"
                },
                {
                    "name": "address_verify_local_transport ($local_transport)",
                    "content": "Overrides the localtransport parameter setting for address verification probes.\n"
                },
                {
                    "name": "address_verify_virtual_transport ($virtual_transport)",
                    "content": "Overrides the virtualtransport parameter setting for address verification probes.\n"
                },
                {
                    "name": "address_verify_relay_transport ($relay_transport)",
                    "content": "Overrides the relaytransport parameter setting for address verification probes.\n"
                },
                {
                    "name": "address_verify_default_transport ($default_transport)",
                    "content": "Overrides the defaulttransport parameter setting for address verification probes.\n\nAvailable in Postfix 2.3 and later:\n"
                },
                {
                    "name": "address_verify_sender_dependent_relayhost_maps ($sender_dependent_relayhost_maps)",
                    "content": "Overrides the senderdependentrelayhostmaps parameter setting for address  verifica‐\ntion probes.\n\nAvailable in Postfix 2.7 and later:\n"
                },
                {
                    "name": "address_verify_sender_dependent_default_transport_maps ($sender_dependent_default_trans‐",
                    "content": ""
                },
                {
                    "name": "port_maps)",
                    "content": "Overrides  the  senderdependentdefaulttransportmaps  parameter setting for address\nverification probes.\n"
                }
            ]
        },
        "SMTPUTF8 CONTROLS": {
            "content": "Preliminary SMTPUTF8 support is introduced with Postfix 3.0.\n",
            "subsections": [
                {
                    "name": "smtputf8_autodetect_classes (sendmail, verify)",
                    "content": "Detect that a message requires SMTPUTF8 support for the specified mail origin classes.\n\nAvailable in Postfix version 3.2 and later:\n"
                },
                {
                    "name": "enable_idna2003_compatibility (no)",
                    "content": "Enable 'transitional' compatibility between IDNA2003  and  IDNA2008,  when  converting\nUTF-8 domain names to/from the ASCII form that is used for DNS lookups.\n"
                }
            ]
        },
        "MISCELLANEOUS CONTROLS": {
            "content": "",
            "subsections": [
                {
                    "name": "config_directory (see 'postconf -d' output)",
                    "content": "The default location of the Postfix main.cf and master.cf configuration files.\n"
                },
                {
                    "name": "daemon_timeout (18000s)",
                    "content": "How  much time a Postfix daemon process may take to handle a request before it is ter‐\nminated by a built-in watchdog timer.\n"
                },
                {
                    "name": "ipc_timeout (3600s)",
                    "content": "The time limit for sending or receiving information  over  an  internal  communication\nchannel.\n"
                },
                {
                    "name": "process_id (read-only)",
                    "content": "The process ID of a Postfix command or daemon process.\n"
                },
                {
                    "name": "process_name (read-only)",
                    "content": "The process name of a Postfix command or daemon process.\n"
                },
                {
                    "name": "queue_directory (see 'postconf -d' output)",
                    "content": "The location of the Postfix top-level queue directory.\n"
                },
                {
                    "name": "syslog_facility (mail)",
                    "content": "The syslog facility of Postfix logging.\n"
                },
                {
                    "name": "syslog_name (see 'postconf -d' output)",
                    "content": "A  prefix  that is prepended to the process name in syslog records, so that, for exam‐\nple, \"smtpd\" becomes \"prefix/smtpd\".\n\nAvailable in Postfix 3.3 and later:\n"
                },
                {
                    "name": "service_name (read-only)",
                    "content": "The master.cf service name of a Postfix daemon process.\n"
                }
            ]
        },
        "SEE ALSO": {
            "content": "smtpd(8), Postfix SMTP server\ncleanup(8), enqueue Postfix message\npostconf(5), configuration parameters\npostlogd(8), Postfix logging\nsyslogd(8), system logging\n",
            "subsections": []
        },
        "README FILES": {
            "content": "Use \"postconf readmedirectory\" or \"postconf htmldirectory\" to locate this information.\nADDRESSVERIFICATIONREADME, address verification howto\n",
            "subsections": []
        },
        "LICENSE": {
            "content": "The Secure Mailer license must be distributed with this software.\n",
            "subsections": []
        },
        "HISTORY": {
            "content": "This service was introduced with Postfix version 2.1.\n\nAUTHOR(S)\nWietse Venema\nIBM T.J. Watson Research\nP.O. Box 704\nYorktown Heights, NY 10598, USA\n\nWietse Venema\nGoogle, Inc.\n111 8th Avenue\nNew York, NY 10011, USA\n\nVERIFY(8postfix)",
            "subsections": []
        }
    },
    "summary": "verify - Postfix address verification server",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "smtpd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/smtpd/8/json"
        },
        {
            "name": "cleanup",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/cleanup/8/json"
        },
        {
            "name": "postconf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/postconf/5/json"
        },
        {
            "name": "postlogd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/postlogd/8/json"
        },
        {
            "name": "syslogd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/syslogd/8/json"
        }
    ]
}