summaryrefslogtreecommitdiff
path: root/gnu/dist/postfix/html/flush.8.html
blob: b62fba9de8b99ed4b71387de53bdd35ea1b40111 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<html> <head> </head> <body> <pre>
FLUSH(8)                                                 FLUSH(8)

<b>NAME</b>
       flush - Postfix fast flush server

<b>SYNOPSIS</b>
       <b>flush</b> [generic Postfix daemon options]

<b>DESCRIPTION</b>
       The  flush  server  maintains a record of deferred mail by
       destination.  This information is used to improve the per-
       formance of the SMTP <b>ETRN</b> request, and of its command-line
       equivalent, <b>sendmail</b> <b>-qR</b>.  This program expects to be  run
       from the <a href="master.8.html"><b>master</b>(8)</a> process manager.

       The  record  is  implemented  as a per-destination logfile
       with as contents the queue IDs of deferred mail. A logfile
       is   append-only,   and  is  truncated  when  delivery  is
       requested for the corresponding destination. A destination
       is  the part on the right-hand side of the right-most <b>@</b> in
       an email address.

       Per-destination logfiles of deferred mail  are  maintained
       only  for eligible destinations. The list of eligible des-
       tinations is specified with the <b>fast</b><i>_</i><b>flush</b><i>_</i><b>domains</b> config-
       uration parameter, which defaults to <b>$relay</b><i>_</i><b>domains</b>.

       This server implements the following requests:

       <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>ADD</b> <i>sitename</i> <i>queue_id</i>
              Inform  the  fast  flush  server that the specified
              message is queued for <i>sitename</i>. Depending  on  log-
              ging  policy,  the  fast  flush  server  stores  or
              ignores the information.

       <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>SEND</b> <i>sitename</i>
              Request delivery of mail that is queued  for  <i>site-</i>
              <i>name</i>.   If  the  destination is eligible for a fast
              flush logfile, this request  triggers  delivery  of
              messages  listed in that destination's logfile, and
              the logfile is truncated to zero length; if mail is
              undeliverable it will be added back to the logfile.

              If the destination is not eligible for a fast flush
              logfile,  this  request  is rejected (see below for
              status codes).

       <b>TRIGGER</b><i>_</i><b>REQ</b><i>_</i><b>WAKEUP</b>
              This wakeup request from the master is an  alterna-
              tive way to request <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>REFRESH</b>.

       <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>REFRESH</b> (completes in the background)
              Refresh  non-empty  per-destination  logfiles  that
              were not read in <b>fast</b><i>_</i><b>flush</b><i>_</i><b>refresh</b><i>_</i><b>time</b> hours,  by
              simulating send requests (see above) for the corre-
              sponding destinations.

              Delete empty per-destination logfiles that were not
              updated in <b>fast</b><i>_</i><b>flush</b><i>_</i><b>purge</b><i>_</i><b>time</b> days.

       <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>PURGE</b> (completes in the background)
              Refresh  all non-empty per-destination logfiles, by
              simulating send requests (see above) for the corre-
              sponding  destinations.   This  can  be  incredibly
              expensive when logging is enabled for many destina-
              tions, and is not recommended.

              Delete empty per-destination logfiles that were not
              updated in <b>fast</b><i>_</i><b>flush</b><i>_</i><b>purge</b><i>_</i><b>time</b> days.

       The server response is one of:

       <b>FLUSH</b><i>_</i><b>STAT</b><i>_</i><b>OK</b>
              The request completed normally.

       <b>FLUSH</b><i>_</i><b>STAT</b><i>_</i><b>BAD</b>
              The flush server rejected the request (bad  request
              name, bad request parameter value).

       <b>FLUSH</b><i>_</i><b>STAT</b><i>_</i><b>FAIL</b>
              The request failed.

       <b>FLUSH</b><i>_</i><b>STAT</b><i>_</i><b>DENY</b>
              The  request  was  denied  because  the destination
              domain is not eligible for fast flush  service,  or
              because the fast flush service is disabled.

<b>SECURITY</b>
       The  fast  flush server is not security-sensitive. It does
       not talk to the network, and it does  not  talk  to  local
       users.   The  fast  flush server can run chrooted at fixed
       low privilege.

<b>DIAGNOSTICS</b>
       Problems and transactions are logged to <b>syslogd</b>(8).

<b>BUGS</b>
       Fast  flush  logfiles   are   truncated   only   after   a
       <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>SEND</b>  request,  not when mail is actually deliv-
       ered, and therefore can accumulate outdated  or  redundant
       data.  In order to maintain sanity, <b>FLUSH</b><i>_</i><b>REQ</b><i>_</i><b>REFRESH</b> must
       be executed periodically. This can  be  automated  with  a
       suitable  wakeup timer setting in the <b>master.cf</b> configura-
       tion file.

       Upon receipt of a request to deliver all mail for an  eli-
       gible  destination,  the <b>flush</b> server requests delivery of
       all messages that are listed in  that  destination's  log-
       file, regardless of the recipients of those messages. This
       is not an issue for mail that is sent to  a  <b>relay</b><i>_</i><b>domains</b>
       destination  because  such mail typically only has recipi-
       ents in one domain.

<b>FILES</b>
       /var/spool/postfix/flush, location of "fast flush" logfiles.

<b>CONFIGURATION</b> <b>PARAMETERS</b>
       See the Postfix <b>main.cf</b> file for syntax  details  and  for
       default  values.  Use  the  <b>postfix</b> <b>reload</b> command after a
       configuration change.

       <b>fast</b><i>_</i><b>flush</b><i>_</i><b>domains</b>
              What destinations can have a "fast flush"  logfile.
              By default, this is set to <b>$relay</b><i>_</i><b>domains</b>.

       <b>fast</b><i>_</i><b>flush</b><i>_</i><b>refresh</b><i>_</i><b>time</b>
              Refresh  a  non-empty "fast flush" logfile that was
              not read in this amount of time (default time unit:
              hours), by simulating a send request for the corre-
              sponding destination.

       <b>fast</b><i>_</i><b>flush</b><i>_</i><b>purge</b><i>_</i><b>time</b>
              Remove an empty "fast flush" logfile that  was  not
              updated  in this amount of time (default time unit:
              days).

       <b>parent</b><i>_</i><b>domain</b><i>_</i><b>matches</b><i>_</i><b>subdomains</b>
              List of Postfix features that use  <i>domain.tld</i>  pat-
              terns   to  match  <i>sub.domain.tld</i>  (as  opposed  to
              requiring <i>.domain.tld</i> patterns).

<b>SEE</b> <b>ALSO</b>
       <a href="smtpd.8.html">smtpd(8)</a> Postfix SMTP server
       <a href="qmgr.8.html">qmgr(8)</a> Postfix queue manager
       syslogd(8) system logging

<b>LICENSE</b>
       The Secure Mailer license must be  distributed  with  this
       software.

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

                                                         FLUSH(8)
</pre> </body> </html>