52386e961b74f0ddebd38d1744fedb628b84f1e8
[sysconfig/postfix.git] / main.cf
1 # Global Postfix configuration file. This file lists only a subset
2 # of all 300+ parameters. See the postconf(5) manual page for a
3 # complete list.
4 #
5 # The general format of each line is: parameter = value. Lines
6 # that begin with whitespace continue the previous line. A value can
7 # contain references to other $names or ${name}s.
8 #
9 # NOTE - CHANGE NO MORE THAN 2-3 PARAMETERS AT A TIME, AND TEST IF
10 # POSTFIX STILL WORKS AFTER EVERY CHANGE.
11
12 # SOFT BOUNCE
13 #
14 # The soft_bounce parameter provides a limited safety net for
15 # testing.  When soft_bounce is enabled, mail will remain queued that
16 # would otherwise bounce. This parameter disables locally-generated
17 # bounces, and prevents the SMTP server from rejecting mail permanently
18 # (by changing 5xx replies into 4xx replies). However, soft_bounce
19 # is no cure for address rewriting mistakes or mail routing mistakes.
20 #
21 #soft_bounce = no
22
23 # LOCAL PATHNAME INFORMATION
24 #
25 # The queue_directory specifies the location of the Postfix queue.
26 # This is also the root directory of Postfix daemons that run chrooted.
27 # See the files in examples/chroot-setup for setting up Postfix chroot
28 # environments on different UNIX systems.
29 #
30 queue_directory = /var/spool/postfix
31
32 # The command_directory parameter specifies the location of all
33 # postXXX commands.
34 #
35 command_directory = /usr/sbin
36
37 # The daemon_directory parameter specifies the location of all Postfix
38 # daemon programs (i.e. programs listed in the master.cf file). This
39 # directory must be owned by root.
40 #
41
42 # QUEUE AND PROCESS OWNERSHIP
43 #
44 # The mail_owner parameter specifies the owner of the Postfix queue
45 # and of most Postfix daemon processes.  Specify the name of a user
46 # account THAT DOES NOT SHARE ITS USER OR GROUP ID WITH OTHER ACCOUNTS
47 # AND THAT OWNS NO OTHER FILES OR PROCESSES ON THE SYSTEM.  In
48 # particular, don't specify nobody or daemon. PLEASE USE A DEDICATED
49 # USER.
50 #
51 mail_owner = postfix
52
53 # The default_privs parameter specifies the default rights used by
54 # the local delivery agent for delivery to external file or command.
55 # These rights are used in the absence of a recipient user context.
56 # DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER.
57 #
58 #default_privs = nobody
59
60 # INTERNET HOST AND DOMAIN NAMES
61
62 # The myhostname parameter specifies the internet hostname of this
63 # mail system. The default is to use the fully-qualified domain name
64 # from gethostname(). $myhostname is used as a default value for many
65 # other configuration parameters.
66 #
67 #myhostname = host.domain.tld
68 #myhostname = virtual.domain.tld
69
70 # The mydomain parameter specifies the local internet domain name.
71 # The default is to use $myhostname minus the first component.
72 # $mydomain is used as a default value for many other configuration
73 # parameters.
74 #
75 #mydomain = domain.tld
76
77 # SENDING MAIL
78
79 # The myorigin parameter specifies the domain that locally-posted
80 # mail appears to come from. The default is to append $myhostname,
81 # which is fine for small sites.  If you run a domain with multiple
82 # machines, you should (1) change this to $mydomain and (2) set up
83 # a domain-wide alias database that aliases each user to
84 # user@that.users.mailhost.
85 #
86 # For the sake of consistency between sender and recipient addresses,
87 # myorigin also specifies the default domain name that is appended
88 # to recipient addresses that have no @domain part.
89 #
90 #myorigin = $myhostname
91 myorigin = $mydomain
92
93 # RECEIVING MAIL
94
95 # The inet_interfaces parameter specifies the network interface
96 # addresses that this mail system receives mail on.  By default,
97 # the software claims all active interfaces on the machine. The
98 # parameter also controls delivery of mail to user@[ip.address].
99 #
100 # See also the proxy_interfaces parameter, for network addresses that
101 # are forwarded to us via a proxy or network address translator.
102 #
103 # Note: you need to stop/start Postfix when this parameter changes.
104 #
105 #inet_interfaces = all
106 #inet_interfaces = $myhostname
107 #inet_interfaces = $myhostname, localhost
108
109 # The proxy_interfaces parameter specifies the network interface
110 # addresses that this mail system receives mail on by way of a
111 # proxy or network address translation unit. This setting extends
112 # the address list specified with the inet_interfaces parameter.
113 #
114 # You must specify your proxy/NAT addresses when your system is a
115 # backup MX host for other domains, otherwise mail delivery loops
116 # will happen when the primary MX host is down.
117 #
118 #proxy_interfaces =
119 #proxy_interfaces = 1.2.3.4
120
121 # The mydestination parameter specifies the list of domains that this
122 # machine considers itself the final destination for.
123 #
124 # These domains are routed to the delivery agent specified with the
125 # local_transport parameter setting. By default, that is the UNIX
126 # compatible delivery agent that lookups all recipients in /etc/passwd
127 # and /etc/aliases or their equivalent.
128 #
129 # The default is $myhostname + localhost.$mydomain.  On a mail domain
130 # gateway, you should also include $mydomain.
131 #
132 # Do not specify the names of virtual domains - those domains are
133 # specified elsewhere (see VIRTUAL_README).
134 #
135 # Do not specify the names of domains that this machine is backup MX
136 # host for. Specify those names via the relay_domains settings for
137 # the SMTP server, or use permit_mx_backup if you are lazy (see
138 # STANDARD_CONFIGURATION_README).
139 #
140 # The local machine is always the final destination for mail addressed
141 # to user@[the.net.work.address] of an interface that the mail system
142 # receives mail on (see the inet_interfaces parameter).
143 #
144 # Specify a list of host or domain names, /file/name or type:table
145 # patterns, separated by commas and/or whitespace. A /file/name
146 # pattern is replaced by its contents; a type:table is matched when
147 # a name matches a lookup key (the right-hand side is ignored).
148 # Continue long lines by starting the next line with whitespace.
149 #
150 # See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
151 #
152 mydestination = $myhostname, dehnert.arctic.org, localhost, localhost.localdomain, localhost.dehnerts.com, localdomain.localdomain, dehnerts.com, www.dehnerts.com, mail.dehnerts.com, copan.dehnerts.com, mail.dehnert.arctic.org, copan.dehnert.arctic.org, borobudur.dehnert.arctic.org, borobudur.dehnerts.com, gwynedd.dehnert.arctic.org, gwynedd.dehnerts.com, olinda.dehnerts.com, olinda.dehnert.arctic.org, olinda.mit.edu
153 #mydestination = $myhostname, localhost.$mydomain, localhost
154 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
155 #mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
156 #       mail.$mydomain, www.$mydomain, ftp.$mydomain
157
158 # VIRTUAL recipients thingy
159 # ^ Added by Alex Dehnert on 2005-06-17
160 virtual_alias_domains = alex.dehnerts.com alex.dehnert.arctic.org
161 virtual_alias_maps = hash:/etc/mail/virtual
162
163 # REJECTING MAIL FOR UNKNOWN LOCAL USERS
164 #
165 # The local_recipient_maps parameter specifies optional lookup tables
166 # with all names or addresses of users that are local with respect
167 # to $mydestination, $inet_interfaces or $proxy_interfaces.
168 #
169 # If this parameter is defined, then the SMTP server will reject
170 # mail for unknown local users. This parameter is defined by default.
171 #
172 # To turn off local recipient checking in the SMTP server, specify
173 # local_recipient_maps = (i.e. empty).
174 #
175 # The default setting assumes that you use the default Postfix local
176 # delivery agent for local delivery. You need to update the
177 # local_recipient_maps setting if:
178 #
179 # - You define $mydestination domain recipients in files other than
180 #   /etc/passwd, /etc/aliases, or the $virtual_alias_maps files.
181 #   For example, you define $mydestination domain recipients in    
182 #   the $virtual_mailbox_maps files.
183 #
184 # - You redefine the local delivery agent in master.cf.
185 #
186 # - You redefine the "local_transport" setting in main.cf.
187 #
188 # - You use the "luser_relay", "mailbox_transport", or "fallback_transport"
189 #   feature of the Postfix local delivery agent (see local(8)).
190 #
191 # Details are described in the LOCAL_RECIPIENT_README file.
192 #
193 # Beware: if the Postfix SMTP server runs chrooted, you probably have
194 # to access the passwd file via the proxymap service, in order to
195 # overcome chroot restrictions. The alternative, having a copy of
196 # the system passwd file in the chroot jail is just not practical.
197 #
198 # The right-hand side of the lookup tables is conveniently ignored.
199 # In the left-hand side, specify a bare username, an @domain.tld
200 # wild-card, or specify a user@domain.tld address.
201
202 local_recipient_maps = unix:passwd.byname $alias_maps
203 #local_recipient_maps = proxy:unix:passwd.byname $alias_maps
204 #local_recipient_maps =
205
206 # The unknown_local_recipient_reject_code specifies the SMTP server
207 # response code when a recipient domain matches $mydestination or
208 # ${proxy,inet}_interfaces, while $local_recipient_maps is non-empty
209 # and the recipient address or address local-part is not found.
210 #
211 # The default setting is 550 (reject mail) but it is safer to start
212 # with 450 (try again later) until you are certain that your
213 # local_recipient_maps settings are OK.
214 #
215 unknown_local_recipient_reject_code = 450
216
217 # TRUST AND RELAY CONTROL
218
219 # The mynetworks parameter specifies the list of "trusted" SMTP
220 # clients that have more privileges than "strangers".
221 #
222 # In particular, "trusted" SMTP clients are allowed to relay mail
223 # through Postfix.  See the smtpd_recipient_restrictions parameter
224 # in postconf(5).
225 #
226 # You can specify the list of "trusted" network addresses by hand
227 # or you can let Postfix do it for you (which is the default).
228 #
229 # By default (mynetworks_style = subnet), Postfix "trusts" SMTP
230 # clients in the same IP subnetworks as the local machine.
231 # On Linux, this does works correctly only with interfaces specified
232 # with the "ifconfig" command.
233
234 # Specify "mynetworks_style = class" when Postfix should "trust" SMTP
235 # clients in the same IP class A/B/C networks as the local machine.
236 # Don't do this with a dialup site - it would cause Postfix to "trust"
237 # your entire provider's network.  Instead, specify an explicit
238 # mynetworks list by hand, as described below.
239 #  
240 # Specify "mynetworks_style = host" when Postfix should "trust"
241 # only the local machine.
242
243 #mynetworks_style = class
244 #mynetworks_style = subnet
245 #mynetworks_style = host
246
247 # Alternatively, you can specify the mynetworks list by hand, in
248 # which case Postfix ignores the mynetworks_style setting.
249 #
250 # Specify an explicit list of network/netmask patterns, where the
251 # mask specifies the number of bits in the network part of a host
252 # address.
253 #
254 # You can also specify the absolute pathname of a pattern file instead
255 # of listing the patterns here. Specify type:table for table-based lookups
256 # (the value on the table right-hand side is not used).
257 #
258 # Added by Alex Dehnert
259 mynetworks = 66.92.29.156/32, 66.92.29.144/32, 127.0.0.1/32, 18.111.8.18/32, 18.102.208.15/32, [::1]/128
260 #mynetworks = 168.100.189.0/28, 127.0.0.0/8
261 #mynetworks = $config_directory/mynetworks
262 #mynetworks = hash:/etc/postfix/network_table
263
264 # Authentication
265 smtpd_recipient_restrictions = 
266     permit_mynetworks 
267     permit_sasl_authenticated 
268     permit_auth_destination
269     reject_unauth_destination
270 smtpd_sasl_auth_enable = yes
271 broken_sasl_auth_clients = yes
272 smtpd_sasl_type = dovecot
273 smtpd_sasl_path = private/auth
274 smtpd_tls_cert_file=/etc/ssl/local-certs/postfix.crt
275 smtpd_tls_key_file=/etc/ssl/private/postfix.key
276 smtpd_use_tls = yes
277 smtpd_tls_auth_only = yes
278 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
279 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
280
281 # Milter configuration
282 # Based on https://www.linode.com/docs/guides/configure-spf-and-dkim-in-postfix-on-debian-9/#testing-postfix-dkim-on-debian-9-with-a-gmail-test
283 # http://www.opendkim.org/opendkim-README
284 # http://www.postfix.org/MILTER_README.html
285 # OpenDKIM
286 milter_default_action = accept
287 # Postfix â‰¥ 2.6 milter_protocol = 6, Postfix â‰¤ 2.5 milter_protocol = 2
288 milter_protocol = 6
289 smtpd_milters = unix:opendkim/opendkim.sock
290 non_smtpd_milters = $smtpd_milters
291
292 # Alex Dehnert, 2017-11-01
293 # Based on https://serverfault.com/questions/663979/virtual-alias-domains-how-to-use-different-ip-addresses-when-forwarding-mail
294
295 #sender_dependent_default_transport_maps = hash:/etc/mail/sender-transport
296     
297 # The relay_domains parameter restricts what destinations this system will
298 # relay mail to.  See the smtpd_recipient_restrictions description in
299 # postconf(5) for detailed information.
300 #
301 # By default, Postfix relays mail
302 # - from "trusted" clients (IP address matches $mynetworks) to any destination,
303 # - from "untrusted" clients to destinations that match $relay_domains or
304 #   subdomains thereof, except addresses with sender-specified routing.
305 # The default relay_domains value is $mydestination.
306
307 # In addition to the above, the Postfix SMTP server by default accepts mail
308 # that Postfix is final destination for:
309 # - destinations that match $inet_interfaces or $proxy_interfaces,
310 # - destinations that match $mydestination
311 # - destinations that match $virtual_alias_domains,
312 # - destinations that match $virtual_mailbox_domains.
313 # These destinations do not need to be listed in $relay_domains.
314
315 # Specify a list of hosts or domains, /file/name patterns or type:name
316 # lookup tables, separated by commas and/or whitespace.  Continue
317 # long lines by starting the next line with whitespace. A file name
318 # is replaced by its contents; a type:name table is matched when a
319 # (parent) domain appears as lookup key.
320 #
321 # NOTE: Postfix will not automatically forward mail for domains that
322 # list this system as their primary or backup MX host. See the
323 # permit_mx_backup restriction description in postconf(5).
324 #
325 #relay_domains = $mydestination
326
327 # INTERNET OR INTRANET
328
329 # The relayhost parameter specifies the default host to send mail to
330 # when no entry is matched in the optional transport(5) table. When
331 # no relayhost is given, mail is routed directly to the destination.
332 #
333 # On an intranet, specify the organizational domain name. If your
334 # internal DNS uses no MX records, specify the name of the intranet
335 # gateway host instead.
336 #
337 # In the case of SMTP, specify a domain, host, host:port, [host]:port,
338 # [address] or [address]:port; the form [host] turns off MX lookups.
339 #
340 # If you're connected via UUCP, see also the default_transport parameter.
341 #
342 #relayhost = $mydomain
343 #relayhost = [gateway.my.domain]
344 #relayhost = [mailserver.isp.tld]
345 #relayhost = uucphost
346 #relayhost = [an.ip.add.ress]
347
348 # REJECTING UNKNOWN RELAY USERS
349 #
350 # The relay_recipient_maps parameter specifies optional lookup tables
351 # with all addresses in the domains that match $relay_domains.
352 #
353 # If this parameter is defined, then the SMTP server will reject
354 # mail for unknown relay users. This feature is off by default.
355 #
356 # The right-hand side of the lookup tables is conveniently ignored.
357 # In the left-hand side, specify an @domain.tld wild-card, or specify
358 # a user@domain.tld address.
359
360 #relay_recipient_maps = hash:/etc/postfix/relay_recipients
361
362 # INPUT RATE CONTROL
363 #
364 # The in_flow_delay configuration parameter implements mail input
365 # flow control. This feature is turned on by default, although it
366 # still needs further development (it's disabled on SCO UNIX due
367 # to an SCO bug).
368
369 # A Postfix process will pause for $in_flow_delay seconds before
370 # accepting a new message, when the message arrival rate exceeds the
371 # message delivery rate. With the default 100 SMTP server process
372 # limit, this limits the mail inflow to 100 messages a second more
373 # than the number of messages delivered per second.
374
375 # Specify 0 to disable the feature. Valid delays are 0..10.
376
377 #in_flow_delay = 1s
378
379 # ADDRESS REWRITING
380 #
381 # The ADDRESS_REWRITING_README document gives information about
382 # address masquerading or other forms of address rewriting including
383 # username->Firstname.Lastname mapping.
384
385 # ADDRESS REDIRECTION (VIRTUAL DOMAIN)
386 #
387 # The VIRTUAL_README document gives information about the many forms
388 # of domain hosting that Postfix supports.
389
390 # "USER HAS MOVED" BOUNCE MESSAGES
391 #
392 # See the discussion in the ADDRESS_REWRITING_README document.
393
394 # TRANSPORT MAP
395 #
396 # See the discussion in the ADDRESS_REWRITING_README document.
397
398 # ALIAS DATABASE
399 #
400 # The alias_maps parameter specifies the list of alias databases used
401 # by the local delivery agent. The default list is system dependent.
402 #
403 # On systems with NIS, the default is to search the local alias
404 # database, then the NIS alias database. See aliases(5) for syntax
405 # details.
406
407 # If you change the alias database, run "postalias /etc/aliases" (or
408 # wherever your system stores the mail alias file), or simply run
409 # "newaliases" to build the necessary DBM or DB file.
410 #
411 # It will take a minute or so before changes become visible.  Use
412 # "postfix reload" to eliminate the delay.
413 #
414 #alias_maps = dbm:/etc/aliases
415 #alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases
416 # ALEX DEHNERT - uncommented this line, adding the mail part of the first entry
417 # and all of the second (mailman) one
418 #alias_maps = hash:/etc/mail/aliases, hash:/usr/local/mailman/data/aliases
419 alias_maps = hash:/etc/mail/aliases, hash:/var/lib/mailman/data/aliases, hash:/home/alex/program/python/mail/aliases
420 #alias_maps = hash:/etc/aliases, nis:mail.aliases
421 #alias_maps = netinfo:/aliases
422
423 # The alias_database parameter specifies the alias database(s) that
424 # are built with "newaliases" or "sendmail -bi".  This is a separate
425 # configuration parameter, because alias_maps (see above) may specify
426 # tables that are not necessarily all under control by Postfix.
427 #
428 #alias_database = dbm:/etc/aliases
429 alias_database = hash:/etc/mail/aliases
430 #alias_database = hash:/etc/aliases
431 #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
432
433 # ADDRESS EXTENSIONS (e.g., user+foo)
434 #
435 # The recipient_delimiter parameter specifies the separator between
436 # user names and address extensions (user+foo). See canonical(5),
437 # local(8), relocated(5) and virtual(5) for the effects this has on
438 # aliases, canonical, virtual, relocated and .forward file lookups.
439 # Basically, the software tries user+foo and .forward+foo before
440 # trying user and .forward.
441 #
442
443 # Alex Dehnert
444 # As of 2005-06-16, I have a "virtual" recipient_delimiter = .+
445 # By use of the regexp:/etc/postfix/canonical_regexp
446 # and recipient_delimiter = .
447 # Becuase of a regexp that translates the two forms
448 # See the file for more details
449
450 canonical_maps = regexp:/etc/mail/canonical_regexp
451 recipient_delimiter = .
452
453 # DELIVERY TO MAILBOX
454 #
455 # The home_mailbox parameter specifies the optional pathname of a
456 # mailbox file relative to a user's home directory. The default
457 # mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
458 # "Maildir/" for qmail-style delivery (the / is required).
459 #
460 #home_mailbox = Mailbox
461 home_mailbox = .maildir/
462  
463 # The mail_spool_directory parameter specifies the directory where
464 # UNIX-style mailboxes are kept. The default setting depends on the
465 # system type.
466 #
467 #mail_spool_directory = /var/mail
468 #mail_spool_directory = /var/spool/mail
469
470 # The mailbox_command parameter specifies the optional external
471 # command to use instead of mailbox delivery. The command is run as
472 # the recipient with proper HOME, SHELL and LOGNAME environment settings.
473 # Exception:  delivery for root is done as $default_user.
474 #
475 # Other environment variables of interest: USER (recipient username),
476 # EXTENSION (address extension), DOMAIN (domain part of address),
477 # and LOCAL (the address localpart).
478 #
479 # Unlike other Postfix configuration parameters, the mailbox_command
480 # parameter is not subjected to $parameter substitutions. This is to
481 # make it easier to specify shell syntax (see example below).
482 #
483 # Avoid shell meta characters because they will force Postfix to run
484 # an expensive shell process. Procmail alone is expensive enough.
485 #
486 # IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
487 # ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
488 #
489 #mailbox_commane = /some/where/procmail
490 mailbox_command = /usr/lib/dovecot/deliver
491 #mailbox_command = /some/where/procmail -a "$EXTENSION"
492
493 # Bump mailbox size limit to 512MB since cache files were maxing out
494 # See https://wiki.dovecot.org/LDA/Postfix
495 mailbox_size_limit = 512000000
496
497 # Max message size 40MB
498 message_size_limit = 41943040
499
500 # The mailbox_transport specifies the optional transport in master.cf
501 # to use after processing aliases and .forward files. This parameter
502 # has precedence over the mailbox_command, fallback_transport and
503 # luser_relay parameters.
504 #
505 # Specify a string of the form transport:nexthop, where transport is
506 # the name of a mail delivery transport defined in master.cf.  The
507 # :nexthop part is optional. For more details see the sample transport
508 # configuration file.
509 #
510 # NOTE: if you use this feature for accounts not in the UNIX password
511 # file, then you must update the "local_recipient_maps" setting in
512 # the main.cf file, otherwise the SMTP server will reject mail for    
513 # non-UNIX accounts with "User unknown in local recipient table".
514 #
515 #mailbox_transport = lmtp:unix:/file/name
516 #mailbox_transport = cyrus
517
518 # The fallback_transport specifies the optional transport in master.cf
519 # to use for recipients that are not found in the UNIX passwd database.
520 # This parameter has precedence over the luser_relay parameter.
521 #
522 # Specify a string of the form transport:nexthop, where transport is
523 # the name of a mail delivery transport defined in master.cf.  The
524 # :nexthop part is optional. For more details see the sample transport
525 # configuration file.
526 #
527 # NOTE: if you use this feature for accounts not in the UNIX password
528 # file, then you must update the "local_recipient_maps" setting in
529 # the main.cf file, otherwise the SMTP server will reject mail for    
530 # non-UNIX accounts with "User unknown in local recipient table".
531 #
532 #fallback_transport = lmtp:unix:/file/name
533 #fallback_transport = cyrus
534 #fallback_transport =
535
536 # The luser_relay parameter specifies an optional destination address
537 # for unknown recipients.  By default, mail for unknown@$mydestination,
538 # unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
539 # as undeliverable.
540 #
541 # The following expansions are done on luser_relay: $user (recipient
542 # username), $shell (recipient shell), $home (recipient home directory),
543 # $recipient (full recipient address), $extension (recipient address
544 # extension), $domain (recipient domain), $local (entire recipient
545 # localpart), $recipient_delimiter. Specify ${name?value} or
546 # ${name:value} to expand value only when $name does (does not) exist.
547 #
548 # luser_relay works only for the default Postfix local delivery agent.
549 #
550 # NOTE: if you use this feature for accounts not in the UNIX password
551 # file, then you must specify "local_recipient_maps =" (i.e. empty) in
552 # the main.cf file, otherwise the SMTP server will reject mail for    
553 # non-UNIX accounts with "User unknown in local recipient table".
554 #
555 #luser_relay = $user@other.host
556 #luser_relay = $local@other.host
557 #luser_relay = jim.$local
558   
559 # JUNK MAIL CONTROLS
560
561 # The controls listed here are only a very small subset. The file
562 # SMTPD_ACCESS_README provides an overview.
563
564 # The header_checks parameter specifies an optional table with patterns
565 # that each logical message header is matched against, including
566 # headers that span multiple physical lines.
567 #
568 # By default, these patterns also apply to MIME headers and to the
569 # headers of attached messages. With older Postfix versions, MIME and
570 # attached message headers were treated as body text.
571 #
572 # For details, see "man header_checks".
573 #
574 #header_checks = regexp:/etc/postfix/header_checks
575
576 # FAST ETRN SERVICE
577 #
578 # Postfix maintains per-destination logfiles with information about
579 # deferred mail, so that mail can be flushed quickly with the SMTP
580 # "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
581 # See the ETRN_README document for a detailed description.
582
583 # The fast_flush_domains parameter controls what destinations are
584 # eligible for this service. By default, they are all domains that
585 # this server is willing to relay mail to.
586
587 #fast_flush_domains = $relay_domains
588
589 # SHOW SOFTWARE VERSION OR NOT
590 #
591 # The smtpd_banner parameter specifies the text that follows the 220
592 # code in the SMTP server's greeting banner. Some people like to see
593 # the mail version advertised. By default, Postfix shows no version.
594 #
595 # You MUST specify $myhostname at the start of the text. That is an
596 # RFC requirement. Postfix itself does not care.
597 #
598 #smtpd_banner = $myhostname ESMTP $mail_name
599 #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
600
601 # PARALLEL DELIVERY TO THE SAME DESTINATION
602 #
603 # How many parallel deliveries to the same user or domain? With local
604 # delivery, it does not make sense to do massively parallel delivery
605 # to the same user, because mailbox updates must happen sequentially,
606 # and expensive pipelines in .forward files can cause disasters when
607 # too many are run at the same time. With SMTP deliveries, 10
608 # simultaneous connections to the same domain could be sufficient to
609 # raise eyebrows.
610
611 # Each message delivery transport has its XXX_destination_concurrency_limit
612 # parameter.  The default is $default_destination_concurrency_limit for
613 # most delivery transports. For the local delivery agent the default is 2.
614
615 #local_destination_concurrency_limit = 2
616 #default_destination_concurrency_limit = 20
617
618 # DEBUGGING CONTROL
619 #
620 # The debug_peer_level parameter specifies the increment in verbose
621 # logging level when an SMTP client or server host name or address
622 # matches a pattern in the debug_peer_list parameter.
623 #
624 debug_peer_level = 2
625
626 # The debug_peer_list parameter specifies an optional list of domain
627 # or network patterns, /file/name patterns or type:name tables. When
628 # an SMTP client or server host name or address matches a pattern,
629 # increase the verbose logging level by the amount specified in the
630 # debug_peer_level parameter.
631 #
632 #debug_peer_list = 127.0.0.1
633 #debug_peer_list = some.domain
634
635 # The debugger_command specifies the external command that is executed
636 # when a Postfix daemon program is run with the -D option.
637 #
638 # Use "command .. & sleep 5" so that the debugger can attach before
639 # the process marches on. If you use an X-based debugger, be sure to
640 # set up your XAUTHORITY environment variable before starting Postfix.
641 #
642 debugger_command =
643          PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
644          xxgdb $daemon_directory/$process_name $process_id & sleep 5
645
646 # If you can't use X, use this to capture the call stack when a
647 # daemon crashes. The result is in a file in the configuration
648 # directory, and is named after the process name and the process ID.
649 #
650 # debugger_command =
651 #       PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
652 #       echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
653 #       >$config_directory/$process_name.$process_id.log & sleep 5
654 #
655 # Another possibility is to run gdb under a detached screen session.
656 # To attach to the screen sesssion, su root and run "screen -r
657 # <id_string>" where <id_string> uniquely matches one of the detached
658 # sessions (from "screen -list").
659 #
660 # debugger_command =
661 #       PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
662 #       -dmS $process_name gdb $daemon_directory/$process_name
663 #       $process_id & sleep 1
664
665 # INSTALL-TIME CONFIGURATION INFORMATION
666 #
667 # The following parameters are used when installing a new Postfix version.
668
669 # sendmail_path: The full pathname of the Postfix sendmail command.
670 # This is the Sendmail-compatible mail posting interface.
671
672 sendmail_path = /usr/sbin/sendmail
673
674 # newaliases_path: The full pathname of the Postfix newaliases command.
675 # This is the Sendmail-compatible command to build alias databases.
676 #
677 newaliases_path = /usr/bin/newaliases
678
679 # mailq_path: The full pathname of the Postfix mailq command.  This
680 # is the Sendmail-compatible mail queue listing command.
681
682 mailq_path = /usr/bin/mailq
683
684 # setgid_group: The group for mail submission and queue management
685 # commands.  This must be a group name with a numerical group ID that
686 # is not shared with other accounts, not even with the Postfix account.
687 #
688 setgid_group = postdrop
689
690 # html_directory: The location of the Postfix HTML documentation.
691 #
692 html_directory = /usr/share/doc/postfix-2.2.10/html
693
694 # manpage_directory: The location of the Postfix on-line manual pages.
695 #
696 manpage_directory = /usr/share/man
697
698 # sample_directory: The location of the Postfix sample configuration files.
699 # This parameter is obsolete as of Postfix 2.1.
700 #
701 sample_directory = /etc/postfix
702
703 # readme_directory: The location of the Postfix README files.
704 #
705 readme_directory = /usr/share/doc/postfix-2.2.10/readme
706 home_mailbox = .maildir/
707
708 ##########################
709 # MAILMAN RELATED CONFIG #
710 ##########################
711
712 # 2005-01-19
713 owner_request_special = no
714 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject_unauth_destination