1POSTFIX(1)                  General Commands Manual                 POSTFIX(1)
2
3
4

NAME

6       postfix - Postfix control program
7

SYNOPSIS

9       postfix [-Dv] [-c config_dir] command
10

DESCRIPTION

12       This  command  is  reserved  for the superuser. To submit mail, use the
13       Postfix sendmail(1) command.
14
15       The postfix(1) command controls the operation of the Postfix mail  sys‐
16       tem:  start  or stop the master(8) daemon, do a health check, and other
17       maintenance.
18
19       By default, the postfix(1) command sets up a  standardized  environment
20       and runs the postfix-script shell script to do the actual work.
21
22       However,  when  support  for  multiple Postfix instances is configured,
23       postfix(1) executes the command specified with the multi_instance_wrap‐
24       per configuration parameter.  This command will execute the command for
25       each applicable Postfix instance.
26
27       The following commands are implemented:
28
29       check  Warn about bad directory/file ownership or permissions, and cre‐
30              ate missing directories.
31
32       start  Start  the Postfix mail system. This also runs the configuration
33              check described above.
34
35       start-fg
36              Like start, but keep the master(8) daemon running in  the  fore‐
37              ground,  and enable master(8) "init" mode when running as PID 1.
38              This command requires that multi-instance  support  is  disabled
39              (i.e.  the  multi_instance_directories  parameter  value must be
40              empty).
41
42              When running Postfix inside a container, see MAILLOG_README  for
43              logging  to stdout. Postfix logs to syslog by default, which re‐
44              quires a) running a syslogd process inside the container, or  b)
45              mounting  the  container  host's /dev/log socket inside the con‐
46              tainer (example: "docker run -v /dev/log:/dev/log ..."), and  c)
47              a  distinct Postfix "syslog_name" prefix that identifies logging
48              from the Postfix instance.
49
50       stop   Stop the Postfix mail system in an orderly fashion. If possible,
51              running  processes  are  allowed  to terminate at their earliest
52              convenience.
53
54              Note: in order to refresh the Postfix mail system after  a  con‐
55              figuration  change,  do  not  use the start and stop commands in
56              succession. Use the reload command instead.
57
58       abort  Stop the Postfix mail system  abruptly.  Running  processes  are
59              signaled to stop immediately.
60
61       flush  Force delivery: attempt to deliver every message in the deferred
62              mail queue. Normally, attempts to deliver delayed mail happen at
63              regular  intervals,  the interval doubling after each failed at‐
64              tempt.
65
66              Warning: flushing undeliverable mail frequently will  result  in
67              poor delivery performance of all other mail.
68
69       reload Re-read  configuration  files.  Running  processes  terminate at
70              their earliest convenience.
71
72       status Indicate if the Postfix mail system is currently running.
73
74       set-permissions [name=value ...]
75              Set the ownership and permissions of Postfix related  files  and
76              directories, as specified in the postfix-files file.
77
78              Specify  name=value to override and update specific main.cf con‐
79              figuration parameters. Use this,  for  example,  to  change  the
80              mail_owner  or  setgid_group  setting  for  an already installed
81              Postfix system.
82
83              This feature is available in Postfix 2.1 and later.  With  Post‐
84              fix   2.0   and   earlier,  use  "$config_directory/post-install
85              set-permissions".
86
87       logrotate
88              Rotate the logfile specified with $maillog_file, by appending  a
89              time-stamp   suffix   that  is  formatted  according  to  $mail‐
90              log_file_rotate_suffix, and by compressing  the  file  with  the
91              command  specified with $maillog_file_compressor.  This will not
92              rotate /dev/* files.
93
94              This feature is available in Postfix 3.4 and later.
95
96       tls subcommand
97              Enable opportunistic TLS in the Postfix SMTP client  or  server,
98              and  manage  Postfix  SMTP  server TLS private keys and certifi‐
99              cates.  See postfix-tls(1) for documentation.
100
101              This feature is available in Postfix 3.1 and later.
102
103       upgrade-configuration [name=value ...]
104              Update the main.cf and master.cf  files  with  information  that
105              Postfix  needs  in order to run: add or update services, and add
106              or update configuration parameter settings.
107
108              Specify name=value to override and update specific main.cf  con‐
109              figuration parameters.
110
111              This  feature is available in Postfix 2.1 and later.  With Post‐
112              fix 2.0 and  earlier,  use  "$config_directory/post-install  up‐
113              grade-configuration".
114
115       The following options are implemented:
116
117       -c config_dir
118              Read  the main.cf and master.cf configuration files in the named
119              directory instead of the default configuration  directory.   Use
120              this  to  distinguish  between multiple Postfix instances on the
121              same host.
122
123              With Postfix 2.6 and later, this option  forces  the  postfix(1)
124              command to operate on the specified Postfix instance only.  This
125              behavior is inherited by postfix(1) commands that run as  a  de‐
126              scendant of the current process.
127
128       -D (with postfix start only)
129              Run each Postfix daemon under control of a debugger as specified
130              via the debugger_command configuration parameter.
131
132       -v     Enable verbose logging for debugging purposes. Multiple  -v  op‐
133              tions make the software increasingly verbose.
134

ENVIRONMENT

136       The  postfix(1) command exports the following environment variables be‐
137       fore executing the postfix-script file:
138
139       MAIL_CONFIG
140              This is set when the -c command-line option is present.
141
142              With Postfix 2.6 and later, this environment variable forces the
143              postfix(1)  command to operate on the specified Postfix instance
144              only.  This behavior is inherited by  postfix(1)  commands  that
145              run as a descendant of the current process.
146
147       MAIL_VERBOSE
148              This is set when the -v command-line option is present.
149
150       MAIL_DEBUG
151              This is set when the -D command-line option is present.
152
153       When  the  internal  logging service is enabled (by setting a non-empty
154       maillog_file parameter value) the postfix(1) command  exports  settings
155       that  are used by child processes before they have processed main.cf or
156       command-line settings.
157
158       POSTLOG_SERVICE
159              The name of the public postlog service endpoint.
160
161       POSTLOG_HOSTNAME
162              The hostname to prepend to internal logging.
163

CONFIGURATION PARAMETERS

165       The following main.cf configuration parameters are exported as environ‐
166       ment variables with the same names:
167
168       config_directory (see 'postconf -d' output)
169              The  default  location of the Postfix main.cf and master.cf con‐
170              figuration files.
171
172       command_directory (see 'postconf -d' output)
173              The location of all postfix administrative commands.
174
175       daemon_directory (see 'postconf -d' output)
176              The directory with Postfix support programs and daemon programs.
177
178       html_directory (see 'postconf -d' output)
179              The location of Postfix HTML files that describe how  to  build,
180              configure or operate a specific Postfix subsystem or feature.
181
182       mail_owner (postfix)
183              The  UNIX  system  account  that owns the Postfix queue and most
184              Postfix daemon processes.
185
186       mailq_path (see 'postconf -d' output)
187              Sendmail compatibility feature that specifies where the  Postfix
188              mailq(1) command is installed.
189
190       manpage_directory (see 'postconf -d' output)
191              Where the Postfix manual pages are installed.
192
193       newaliases_path (see 'postconf -d' output)
194              Sendmail  compatibility  feature  that specifies the location of
195              the newaliases(1) command.
196
197       queue_directory (see 'postconf -d' output)
198              The location of the Postfix top-level queue directory.
199
200       readme_directory (see 'postconf -d' output)
201              The location of Postfix README files that describe how to build,
202              configure or operate a specific Postfix subsystem or feature.
203
204       sendmail_path (see 'postconf -d' output)
205              A  Sendmail compatibility feature that specifies the location of
206              the Postfix sendmail(1) command.
207
208       setgid_group (postdrop)
209              The  group  ownership  of  set-gid  Postfix  commands   and   of
210              group-writable Postfix directories.
211
212       Available in Postfix version 2.5 and later:
213
214       data_directory (see 'postconf -d' output)
215              The  directory  with  Postfix-writable  data files (for example:
216              caches, pseudo-random numbers).
217
218       Available in Postfix version 3.0 and later:
219
220       compatibility_level (0)
221              A safety net that causes Postfix to run with  backwards-compati‐
222              ble  default  settings  after an upgrade to a newer Postfix ver‐
223              sion.
224
225       meta_directory (see 'postconf -d' output)
226              The location of non-executable files that are shared among  mul‐
227              tiple  Postfix instances, such as postfix-files, dynamicmaps.cf,
228              and the multi-instance template  files  main.cf.proto  and  mas‐
229              ter.cf.proto.
230
231       shlib_directory (see 'postconf -d' output)
232              The  location  of Postfix dynamically-linked libraries (libpost‐
233              fix-*.so), and the default location of Postfix database  plugins
234              (postfix-*.so)  that  have  a  relative  pathname  in the dynam‐
235              icmaps.cf file.
236
237       Available in Postfix version 3.1 and later:
238
239       openssl_path (openssl)
240              The location of the OpenSSL command line program openssl(1).
241
242       Other configuration parameters:
243
244       import_environment (see 'postconf -d' output)
245              The list of environment  variables  that  a  privileged  Postfix
246              process  will  import  from  a  non-Postfix  parent  process, or
247              name=value environment overrides.
248
249       syslog_facility (mail)
250              The syslog facility of Postfix logging.
251
252       syslog_name (see 'postconf -d' output)
253              A prefix that  is  prepended  to  the  process  name  in  syslog
254              records, so that, for example, "smtpd" becomes "prefix/smtpd".
255
256       Available in Postfix version 2.6 and later:
257
258       multi_instance_directories (empty)
259              An  optional  list of non-default Postfix configuration directo‐
260              ries; these directories belong to additional  Postfix  instances
261              that  share  the Postfix executable files and documentation with
262              the default Postfix instance, and  that  are  started,  stopped,
263              etc., together with the default Postfix instance.
264
265       multi_instance_wrapper (empty)
266              The  pathname of a multi-instance manager command that the post‐
267              fix(1) command invokes when the  multi_instance_directories  pa‐
268              rameter value is non-empty.
269
270       multi_instance_group (empty)
271              The optional instance group name of this Postfix instance.
272
273       multi_instance_name (empty)
274              The optional instance name of this Postfix instance.
275
276       multi_instance_enable (no)
277              Allow  this  Postfix instance to be started, stopped, etc., by a
278              multi-instance manager.
279
280       Available in Postfix version 3.4 and later:
281
282       maillog_file (empty)
283              The name of an optional logfile that is written by  the  Postfix
284              postlogd(8) service.
285
286       maillog_file_compressor (gzip)
287              The  program  to  run after rotating $maillog_file with "postfix
288              logrotate".
289
290       maillog_file_prefixes (/var, /dev/stdout)
291              A list of allowed prefixes for a maillog_file value.
292
293       maillog_file_rotate_suffix (%Y%m%d-%H%M%S)
294              The format of the suffix to append to $maillog_file while rotat‐
295              ing the file with "postfix logrotate".
296
297       postlog_service_name (postlog)
298              The name of the postlogd(8) service entry in master.cf.
299

FILES

301       Prior  to Postfix version 2.6, all of the following files were in $con‐
302       fig_directory. Some files are now in $daemon_directory or  $meta_direc‐
303       tory  so  that they can be shared among multiple instances that run the
304       same Postfix version.
305
306       Use the command "postconf config_directory" or "postconf  daemon_direc‐
307       tory" to expand the names into their actual values.
308
309       $config_directory/main.cf, Postfix configuration parameters
310       $config_directory/master.cf, Postfix daemon processes
311       $daemon_directory/postfix-script, administrative commands
312       $daemon_directory/post-install, post-installation configuration
313       $meta_directory/dynamicmaps.cf, plug-in database clients
314       $meta_directory/postfix-files, file/directory permissions
315

SEE ALSO

317       Commands:
318       postalias(1), create/update/query alias database
319       postcat(1), examine Postfix queue file
320       postconf(1), Postfix configuration utility
321       postdrop(1), Postfix mail posting utility
322       postfix(1), Postfix control program
323       postfix-tls(1), Postfix TLS management
324       postkick(1), trigger Postfix daemon
325       postlock(1), Postfix-compatible locking
326       postlog(1), Postfix-compatible logging
327       postmap(1), Postfix lookup table manager
328       postmulti(1), Postfix multi-instance manager
329       postqueue(1), Postfix mail queue control
330       postsuper(1), Postfix housekeeping
331       mailq(1), Sendmail compatibility interface
332       newaliases(1), Sendmail compatibility interface
333       sendmail(1), Sendmail compatibility interface
334
335       Postfix configuration:
336       bounce(5), Postfix bounce message templates
337       master(5), Postfix master.cf file syntax
338       postconf(5), Postfix main.cf file syntax
339       postfix-wrapper(5), Postfix multi-instance API
340
341       Table-driven mechanisms:
342       access(5), Postfix SMTP access control table
343       aliases(5), Postfix alias database
344       canonical(5), Postfix input address rewriting
345       generic(5), Postfix output address rewriting
346       header_checks(5), body_checks(5), Postfix content inspection
347       relocated(5), Users that have moved
348       transport(5), Postfix routing table
349       virtual(5), Postfix virtual aliasing
350
351       Table lookup mechanisms:
352       cidr_table(5), Associate CIDR pattern with value
353       ldap_table(5), Postfix LDAP client
354       lmdb_table(5), Postfix LMDB database driver
355       memcache_table(5), Postfix memcache client
356       mysql_table(5), Postfix MYSQL client
357       nisplus_table(5), Postfix NIS+ client
358       pcre_table(5), Associate PCRE pattern with value
359       pgsql_table(5), Postfix PostgreSQL client
360       regexp_table(5), Associate POSIX regexp pattern with value
361       socketmap_table(5), Postfix socketmap client
362       sqlite_table(5), Postfix SQLite database driver
363       tcp_table(5), Postfix client-server table lookup
364
365       Daemon processes:
366       anvil(8), Postfix connection/rate limiting
367       bounce(8), defer(8), trace(8), Delivery status reports
368       cleanup(8), canonicalize and enqueue message
369       discard(8), Postfix discard delivery agent
370       dnsblog(8), DNS allow/denylist logger
371       error(8), Postfix error delivery agent
372       flush(8), Postfix fast ETRN service
373       local(8), Postfix local delivery agent
374       master(8), Postfix master daemon
375       oqmgr(8), old Postfix queue manager
376       pickup(8), Postfix local mail pickup
377       pipe(8), deliver mail to non-Postfix command
378       postlogd(8), Postfix internal logging service
379       postscreen(8), Postfix zombie blocker
380       proxymap(8), Postfix lookup table proxy server
381       qmgr(8), Postfix queue manager
382       qmqpd(8), Postfix QMQP server
383       scache(8), Postfix connection cache manager
384       showq(8), list Postfix mail queue
385       smtp(8), lmtp(8), Postfix SMTP+LMTP client
386       smtpd(8), Postfix SMTP server
387       spawn(8), run non-Postfix server
388       tlsmgr(8), Postfix TLS cache and randomness manager
389       tlsproxy(8), Postfix TLS proxy server
390       trivial-rewrite(8), Postfix address rewriting
391       verify(8), Postfix address verification
392       virtual(8), Postfix virtual delivery agent
393
394       Other:
395       syslogd(8), system logging
396

README FILES

398       Use  "postconf readme_directory" or "postconf html_directory" to locate
399       this information.
400       OVERVIEW, overview of Postfix commands and processes
401       BASIC_CONFIGURATION_README, Postfix basic configuration
402       ADDRESS_REWRITING_README, Postfix address rewriting
403       SMTPD_ACCESS_README, SMTP relay/access control
404       CONTENT_INSPECTION_README, Postfix content inspection
405       QSHAPE_README, Postfix queue analysis
406

LICENSE

408       The Secure Mailer license must be distributed with this software.
409

AUTHOR(S)

411       Wietse Venema
412       IBM T.J. Watson Research
413       P.O. Box 704
414       Yorktown Heights, NY 10598, USA
415
416       Wietse Venema
417       Google, Inc.
418       111 8th Avenue
419       New York, NY 10011, USA
420
421       TLS support by:
422       Lutz Jaenicke
423       Brandenburg University of Technology
424       Cottbus, Germany
425
426       Victor Duchovni
427       Morgan Stanley
428
429       SASL support originally by:
430       Till Franke
431       SuSE Rhein/Main AG
432       65760 Eschborn, Germany
433
434       LMTP support originally by:
435       Philip A. Prindeville
436       Mirapoint, Inc.
437       USA.
438
439       Amos Gouaux
440       University of Texas at Dallas
441       P.O. Box 830688, MC34
442       Richardson, TX 75083, USA
443
444       IPv6 support originally by:
445       Mark Huizer, Eindhoven University, The Netherlands
446       Jun-ichiro 'itojun' Hagino, KAME project, Japan
447       The Linux PLD project
448       Dean Strik, Eindhoven University, The Netherlands
449
450
451
452                                                                    POSTFIX(1)
Impressum