{
    "mode": "man",
    "parameter": "flush",
    "section": "8",
    "url": "https://www.chedong.com/phpMan.php/man/flush/8/json",
    "generated": "2026-08-31T21:57:42Z",
    "synopsis": "flush [generic Postfix daemon options]",
    "sections": {
        "NAME": {
            "content": "flush - Postfix fast flush server\n",
            "subsections": []
        },
        "SYNOPSIS": {
            "content": "flush [generic Postfix daemon options]\n",
            "subsections": []
        },
        "DESCRIPTION": {
            "content": "The  flush(8) server maintains a record of deferred mail by destination.  This information is\nused to improve the performance of the SMTP ETRN request, and of its command-line equivalent,\n\"sendmail -qR\" or \"postqueue -f\".  This program expects to be run from the master(8)  process\nmanager.\n\nThe  record is implemented as a per-destination logfile with as contents the queue IDs of de‐\nferred mail. A logfile is append-only, and is truncated when delivery is  requested  for  the\ncorresponding destination. A destination is the part on the right-hand side of the right-most\n@ in an email address.\n\nPer-destination  logfiles of deferred mail are maintained only for eligible destinations. The\nlist of eligible destinations is specified with the fastflushdomains configuration  parame‐\nter, which defaults to $relaydomains.\n\nThis server implements the following requests:\n\nadd sitename queueid\nInform  the flush(8) server that the message with the specified queue ID is queued for\nthe specified destination.\n\nsendsite sitename\nRequest delivery of mail that is queued for the specified destination.\n\nsendfile queueid\nRequest delivery of the specified deferred message.\n",
            "subsections": [
                {
                    "name": "refresh",
                    "content": "Refresh non-empty per-destination logfiles  that  were  not  read  in  $fastflushre‐\nfreshtime hours, by simulating send requests (see above) for the corresponding desti‐\nnations.\n\nDelete  empty per-destination logfiles that were not updated in $fastflushpurgetime\ndays.\n\nThis request completes in the background.\n\npurge  Do a refresh for all per-destination logfiles.\n"
                }
            ]
        },
        "SECURITY": {
            "content": "The flush(8) server is not security-sensitive. It does not talk to the network, and  it  does\nnot talk to local users.  The fast flush server can run chrooted at fixed low privilege.\n",
            "subsections": []
        },
        "DIAGNOSTICS": {
            "content": "Problems and transactions are logged to syslogd(8) or postlogd(8).\n",
            "subsections": []
        },
        "BUGS": {
            "content": "Fast  flush logfiles are truncated only after a \"send\" request, not when mail is actually de‐\nlivered, and therefore can accumulate outdated or redundant data. In order to  maintain  san‐\nity,  \"refresh\"  must  be executed periodically. This can be automated with a suitable wakeup\ntimer setting in the master.cf configuration file.\n\nUpon receipt of a request to deliver mail for an eligible destination,  the  flush(8)  server\nrequests  delivery  of all messages that are listed in that destination's logfile, regardless\nof the recipients of those messages. This is not an issue for mail that  is  sent  to  a  re‐\nlaydomains destination because such mail typically only has recipients in one domain.\n",
            "subsections": []
        },
        "CONFIGURATION PARAMETERS": {
            "content": "Changes  to  main.cf are picked up automatically as flush(8) processes run for only a limited\namount of time. Use the command \"postfix reload\" to speed up a change.\n\nThe text below provides only a parameter summary. See postconf(5) for more details  including\nexamples.\n",
            "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": "fast_flush_domains ($relay_domains)",
                    "content": "Optional list of destinations that are eligible for per-destination logfiles with mail\nthat is queued to those destinations.\n"
                },
                {
                    "name": "fast_flush_refresh_time (12h)",
                    "content": "The time after which a non-empty but unread per-destination \"fast flush\" logfile needs\nto be refreshed.\n"
                },
                {
                    "name": "fast_flush_purge_time (7d)",
                    "content": "The time after which an empty per-destination \"fast flush\" logfile is deleted.\n"
                },
                {
                    "name": "ipc_timeout (3600s)",
                    "content": "The time limit for sending or receiving information  over  an  internal  communication\nchannel.\n"
                },
                {
                    "name": "max_idle (100s)",
                    "content": "The  maximum  amount of time that an idle Postfix daemon process waits for an incoming\nconnection before terminating voluntarily.\n"
                },
                {
                    "name": "max_use (100)",
                    "content": "The maximal number of incoming connections that a Postfix daemon process will  service\nbefore terminating voluntarily.\n"
                },
                {
                    "name": "parent_domain_matches_subdomains (see 'postconf -d' output)",
                    "content": "A  list of Postfix features where the pattern \"example.com\" also matches subdomains of\nexample.com, instead of requiring an explicit \".example.com\" pattern.\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"
                }
            ]
        },
        "FILES": {
            "content": "/var/spool/postfix/flush, \"fast flush\" logfiles.\n",
            "subsections": []
        },
        "SEE ALSO": {
            "content": "smtpd(8), SMTP server\nqmgr(8), queue manager\npostconf(5), configuration parameters\nmaster(5), generic daemon options\nmaster(8), process manager\npostlogd(8), Postfix logging\nsyslogd(8), system logging\n",
            "subsections": []
        },
        "README FILES": {
            "content": "Use \"postconf readmedirectory\" or \"postconf htmldirectory\" to locate this information.\nETRNREADME, Postfix ETRN 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 1.0.\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\nFLUSH(8postfix)",
            "subsections": []
        }
    },
    "summary": "flush - Postfix fast flush server",
    "flags": [],
    "examples": [],
    "see_also": [
        {
            "name": "smtpd",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/smtpd/8/json"
        },
        {
            "name": "qmgr",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/qmgr/8/json"
        },
        {
            "name": "postconf",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/postconf/5/json"
        },
        {
            "name": "master",
            "section": "5",
            "url": "https://www.chedong.com/phpMan.php/man/master/5/json"
        },
        {
            "name": "master",
            "section": "8",
            "url": "https://www.chedong.com/phpMan.php/man/master/8/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"
        }
    ]
}