{
    "content": [
        {
            "type": "text",
            "text": "# verify(8) (man)\n\n**Summary:** verify - Postfix address verification server\n\n**Synopsis:** verify [generic Postfix daemon options]\n\n## See Also\n\n- smtpd(8)\n- cleanup(8)\n- postconf(5)\n- postlogd(8)\n- syslogd(8)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (2 lines)\n- **DESCRIPTION** (23 lines)\n- **SECURITY** (14 lines)\n- **DIAGNOSTICS** (2 lines)\n- **BUGS** (8 lines)\n- **CONFIGURATION PARAMETERS** (6 lines)\n- **PROBE MESSAGE CONTROLS** (10 lines)\n- **CACHE CONTROLS** (23 lines)\n- **PROBE MESSAGE ROUTING CONTROLS** (34 lines)\n- **SMTPUTF8 CONTROLS** (11 lines)\n- **MISCELLANEOUS CONTROLS** (32 lines)\n- **SEE ALSO** (6 lines)\n- **README FILES** (3 lines)\n- **LICENSE** (2 lines)\n- **HISTORY** (16 lines)\n\n## Full Content\n\n### NAME\n\nverify - Postfix address verification server\n\n### SYNOPSIS\n\nverify [generic Postfix daemon options]\n\n### DESCRIPTION\n\nThe  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\n### SECURITY\n\nThe 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\n### DIAGNOSTICS\n\nProblems and transactions are logged to syslogd(8) or postlogd(8).\n\n### BUGS\n\nAddress 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\n### CONFIGURATION PARAMETERS\n\nChanges 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\n### PROBE MESSAGE CONTROLS\n\naddressverifysender ($doublebouncesender)\nThe 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\naddressverifysenderttl (0s)\nThe  time  between changes in the time-dependent portion of address verification probe\nsender addresses.\n\n### CACHE CONTROLS\n\naddressverifymap (see 'postconf -d' output)\nLookup table for persistent address verification status storage.\n\naddressverifypositiveexpiretime (31d)\nThe time after which a successful probe expires from the address verification cache.\n\naddressverifypositiverefreshtime (7d)\nThe time after which a successful address verification probe needs to be refreshed.\n\naddressverifynegativecache (yes)\nEnable caching of failed address verification probe results.\n\naddressverifynegativeexpiretime (3d)\nThe time after which a failed probe expires from the address verification cache.\n\naddressverifynegativerefreshtime (3h)\nThe time after which a failed address verification probe needs to be refreshed.\n\nAvailable with Postfix 2.7 and later:\n\naddressverifycachecleanupinterval (12h)\nThe amount of time between verify(8) address verification database cleanup runs.\n\n### PROBE MESSAGE ROUTING CONTROLS\n\nBy 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\naddressverifyrelayhost ($relayhost)\nOverrides the relayhost parameter setting for address verification probes.\n\naddressverifytransportmaps ($transportmaps)\nOverrides the transportmaps parameter setting for address verification probes.\n\naddressverifylocaltransport ($localtransport)\nOverrides the localtransport parameter setting for address verification probes.\n\naddressverifyvirtualtransport ($virtualtransport)\nOverrides the virtualtransport parameter setting for address verification probes.\n\naddressverifyrelaytransport ($relaytransport)\nOverrides the relaytransport parameter setting for address verification probes.\n\naddressverifydefaulttransport ($defaulttransport)\nOverrides the defaulttransport parameter setting for address verification probes.\n\nAvailable in Postfix 2.3 and later:\n\naddressverifysenderdependentrelayhostmaps ($senderdependentrelayhostmaps)\nOverrides  the senderdependentrelayhostmaps parameter setting for address verifica‐\ntion probes.\n\nAvailable in Postfix 2.7 and later:\n\naddressverifysenderdependentdefaulttransportmaps      ($senderdependentdefaulttrans‐‐\nportmaps)\nOverrides  the  senderdependentdefaulttransportmaps  parameter setting for address\nverification probes.\n\n### SMTPUTF8 CONTROLS\n\nPreliminary SMTPUTF8 support is introduced with Postfix 3.0.\n\nsmtputf8autodetectclasses (sendmail, verify)\nDetect that a message requires SMTPUTF8 support for the specified mail origin classes.\n\nAvailable in Postfix version 3.2 and later:\n\nenableidna2003compatibility (no)\nEnable 'transitional' compatibility between IDNA2003  and  IDNA2008,  when  converting\nUTF-8 domain names to/from the ASCII form that is used for DNS lookups.\n\n### MISCELLANEOUS CONTROLS\n\nconfigdirectory (see 'postconf -d' output)\nThe default location of the Postfix main.cf and master.cf configuration files.\n\ndaemontimeout (18000s)\nHow  much time a Postfix daemon process may take to handle a request before it is ter‐\nminated by a built-in watchdog timer.\n\nipctimeout (3600s)\nThe time limit for sending or receiving information  over  an  internal  communication\nchannel.\n\nprocessid (read-only)\nThe process ID of a Postfix command or daemon process.\n\nprocessname (read-only)\nThe process name of a Postfix command or daemon process.\n\nqueuedirectory (see 'postconf -d' output)\nThe location of the Postfix top-level queue directory.\n\nsyslogfacility (mail)\nThe syslog facility of Postfix logging.\n\nsyslogname (see 'postconf -d' output)\nA  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\nservicename (read-only)\nThe master.cf service name of a Postfix daemon process.\n\n### SEE ALSO\n\nsmtpd(8), Postfix SMTP server\ncleanup(8), enqueue Postfix message\npostconf(5), configuration parameters\npostlogd(8), Postfix logging\nsyslogd(8), system logging\n\n### README FILES\n\nUse \"postconf readmedirectory\" or \"postconf htmldirectory\" to locate this information.\nADDRESSVERIFICATIONREADME, address verification howto\n\n### LICENSE\n\nThe Secure Mailer license must be distributed with this software.\n\n### HISTORY\n\nThis 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\n\n\nVERIFY(8postfix)\n\n"
        }
    ],
    "structuredContent": {
        "command": "verify",
        "section": "8",
        "mode": "man",
        "summary": "verify - Postfix address verification server",
        "synopsis": "verify [generic Postfix daemon options]",
        "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"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "SECURITY",
                "lines": 14,
                "subsections": []
            },
            {
                "name": "DIAGNOSTICS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "CONFIGURATION PARAMETERS",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "PROBE MESSAGE CONTROLS",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "CACHE CONTROLS",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "PROBE MESSAGE ROUTING CONTROLS",
                "lines": 34,
                "subsections": []
            },
            {
                "name": "SMTPUTF8 CONTROLS",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "MISCELLANEOUS CONTROLS",
                "lines": 32,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "README FILES",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "LICENSE",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "HISTORY",
                "lines": 16,
                "subsections": []
            }
        ]
    }
}