1FLUSH(8)                    System Manager's Manual                   FLUSH(8)
2
3
4

NAME

6       flush - Postfix fast flush server
7

SYNOPSIS

9       flush [generic Postfix daemon options]
10

DESCRIPTION

12       The flush(8) server maintains a record of deferred mail by destination.
13       This information is used to improve the performance of  the  SMTP  ETRN
14       request,   and  of  its  command-line  equivalent,  "sendmail  -qR"  or
15       "postqueue -f".  This program expects to  be  run  from  the  master(8)
16       process manager.
17
18       The record is implemented as a per-destination logfile with as contents
19       the queue IDs of deferred mail. A logfile is append-only, and is  trun‐
20       cated  when  delivery is requested for the corresponding destination. A
21       destination is the part on the right-hand side of the right-most  @  in
22       an email address.
23
24       Per-destination  logfiles of deferred mail are maintained only for eli‐
25       gible destinations. The list of eligible destinations is specified with
26       the  fast_flush_domains  configuration  parameter,  which  defaults  to
27       $relay_domains.
28
29       This server implements the following requests:
30
31       add sitename queueid
32              Inform the flush(8) server that the message with  the  specified
33              queue ID is queued for the specified destination.
34
35       send_site sitename
36              Request delivery of mail that is queued for the specified desti‐
37              nation.
38
39       send_file queueid
40              Request delivery of the specified deferred message.
41
42       refresh
43              Refresh non-empty per-destination logfiles that were not read in
44              $fast_flush_refresh_time hours, by simulating send requests (see
45              above) for the corresponding destinations.
46
47              Delete empty per-destination logfiles that were not  updated  in
48              $fast_flush_purge_time days.
49
50              This request completes in the background.
51
52       purge  Do a refresh for all per-destination logfiles.
53

SECURITY

55       The  flush(8) server is not security-sensitive. It does not talk to the
56       network, and it does not talk to local users.  The  fast  flush  server
57       can run chrooted at fixed low privilege.
58

DIAGNOSTICS

60       Problems and transactions are logged to syslogd(8) or postlogd(8).
61

BUGS

63       Fast flush logfiles are truncated only after a "send" request, not when
64       mail is actually delivered, and therefore can  accumulate  outdated  or
65       redundant data. In order to maintain sanity, "refresh" must be executed
66       periodically. This can be automated with a suitable wakeup  timer  set‐
67       ting in the master.cf configuration file.
68
69       Upon  receipt of a request to deliver mail for an eligible destination,
70       the flush(8) server requests delivery of all messages that  are  listed
71       in  that  destination's  logfile, regardless of the recipients of those
72       messages. This is not an issue for mail that is sent to a relay_domains
73       destination  because  such  mail  typically  only has recipients in one
74       domain.
75

CONFIGURATION PARAMETERS

77       Changes to main.cf are picked up automatically  as  flush(8)  processes
78       run for only a limited amount of time. Use the command "postfix reload"
79       to speed up a change.
80
81       The text below provides only a parameter summary. See  postconf(5)  for
82       more details including examples.
83
84       config_directory (see 'postconf -d' output)
85              The  default  location of the Postfix main.cf and master.cf con‐
86              figuration files.
87
88       daemon_timeout (18000s)
89              How much time a Postfix daemon process  may  take  to  handle  a
90              request before it is terminated by a built-in watchdog timer.
91
92       fast_flush_domains ($relay_domains)
93              Optional list of destinations that are eligible for per-destina‐
94              tion logfiles with mail that is queued to those destinations.
95
96       fast_flush_refresh_time (12h)
97              The time after which  a  non-empty  but  unread  per-destination
98              "fast flush" logfile needs to be refreshed.
99
100       fast_flush_purge_time (7d)
101              The  time after which an empty per-destination "fast flush" log‐
102              file is deleted.
103
104       ipc_timeout (3600s)
105              The time limit for sending  or  receiving  information  over  an
106              internal communication channel.
107
108       max_idle (100s)
109              The  maximum  amount of time that an idle Postfix daemon process
110              waits for an incoming connection before terminating voluntarily.
111
112       max_use (100)
113              The maximal number of incoming connections that a Postfix daemon
114              process will service before terminating voluntarily.
115
116       parent_domain_matches_subdomains (see 'postconf -d' output)
117              A  list of Postfix features where the pattern "example.com" also
118              matches subdomains  of  example.com,  instead  of  requiring  an
119              explicit ".example.com" pattern.
120
121       process_id (read-only)
122              The process ID of a Postfix command or daemon process.
123
124       process_name (read-only)
125              The process name of a Postfix command or daemon process.
126
127       queue_directory (see 'postconf -d' output)
128              The location of the Postfix top-level queue directory.
129
130       syslog_facility (mail)
131              The syslog facility of Postfix logging.
132
133       syslog_name (see 'postconf -d' output)
134              A  prefix  that  is  prepended  to  the  process  name in syslog
135              records, so that, for example, "smtpd" becomes "prefix/smtpd".
136
137       Available in Postfix 3.3 and later:
138
139       service_name (read-only)
140              The master.cf service name of a Postfix daemon process.
141

FILES

143       /var/spool/postfix/flush, "fast flush" logfiles.
144

SEE ALSO

146       smtpd(8), SMTP server
147       qmgr(8), queue manager
148       postconf(5), configuration parameters
149       master(5), generic daemon options
150       master(8), process manager
151       postlogd(8), Postfix logging
152       syslogd(8), system logging
153

README FILES

155       Use "postconf readme_directory" or "postconf html_directory" to  locate
156       this information.
157       ETRN_README, Postfix ETRN howto
158

LICENSE

160       The Secure Mailer license must be distributed with this software.
161

HISTORY

163       This service was introduced with Postfix version 1.0.
164

AUTHOR(S)

166       Wietse Venema
167       IBM T.J. Watson Research
168       P.O. Box 704
169       Yorktown Heights, NY 10598, USA
170
171       Wietse Venema
172       Google, Inc.
173       111 8th Avenue
174       New York, NY 10011, USA
175
176
177
178                                                                      FLUSH(8)
Impressum