Stop referencing IPs we haven't had for years
[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 unknown_local_recipient_reject_code = 550
217
218 # TRUST AND RELAY CONTROL
219
220 # The mynetworks parameter specifies the list of "trusted" SMTP
221 # clients that have more privileges than "strangers".
222 #
223 # In particular, "trusted" SMTP clients are allowed to relay mail
224 # through Postfix.  See the smtpd_recipient_restrictions parameter
225 # in postconf(5).
226 #
227 # You can specify the list of "trusted" network addresses by hand
228 # or you can let Postfix do it for you (which is the default).
229 #
230 # By default (mynetworks_style = subnet), Postfix "trusts" SMTP
231 # clients in the same IP subnetworks as the local machine.
232 # On Linux, this does works correctly only with interfaces specified
233 # with the "ifconfig" command.
234
235 # Specify "mynetworks_style = class" when Postfix should "trust" SMTP
236 # clients in the same IP class A/B/C networks as the local machine.
237 # Don't do this with a dialup site - it would cause Postfix to "trust"
238 # your entire provider's network.  Instead, specify an explicit
239 # mynetworks list by hand, as described below.
240 #  
241 # Specify "mynetworks_style = host" when Postfix should "trust"
242 # only the local machine.
243
244 #mynetworks_style = class
245 #mynetworks_style = subnet
246 #mynetworks_style = host
247
248 # Alternatively, you can specify the mynetworks list by hand, in
249 # which case Postfix ignores the mynetworks_style setting.
250 #
251 # Specify an explicit list of network/netmask patterns, where the
252 # mask specifies the number of bits in the network part of a host
253 # address.
254 #
255 # You can also specify the absolute pathname of a pattern file instead
256 # of listing the patterns here. Specify type:table for table-based lookups
257 # (the value on the table right-hand side is not used).
258 #
259 # Added by Alex Dehnert
260 mynetworks = 66.92.29.156/32, 66.92.29.144/32, 127.0.0.1/32, 18.111.8.18/32, [::1]/128
261 #mynetworks = 168.100.189.0/28, 127.0.0.0/8
262 #mynetworks = $config_directory/mynetworks
263 #mynetworks = hash:/etc/postfix/network_table
264
265 # Authentication
266 smtpd_recipient_restrictions = 
267     permit_mynetworks 
268     permit_sasl_authenticated 
269     permit_auth_destination
270     reject_unauth_destination
271 smtpd_sasl_auth_enable = yes
272 broken_sasl_auth_clients = yes
273 smtpd_sasl_type = dovecot
274 smtpd_sasl_path = private/auth
275 smtpd_tls_cert_file=/etc/ssl/local-certs/postfix.crt
276 smtpd_tls_key_file=/etc/ssl/private/postfix.key
277 smtpd_use_tls = yes
278 smtpd_tls_auth_only = yes
279 smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
280 smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
281
282 # Milter configuration
283 # 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
284 # http://www.opendkim.org/opendkim-README
285 # http://www.postfix.org/MILTER_README.html
286 # OpenDKIM
287 milter_default_action = accept
288 # Postfix â‰¥ 2.6 milter_protocol = 6, Postfix â‰¤ 2.5 milter_protocol = 2
289 milter_protocol = 6
290 smtpd_milters = unix:opendkim/opendkim.sock
291 non_smtpd_milters = $smtpd_milters
292
293 # Alex Dehnert, 2017-11-01
294 # Based on https://serverfault.com/questions/663979/virtual-alias-domains-how-to-use-different-ip-addresses-when-forwarding-mail
295
296 #sender_dependent_default_transport_maps = hash:/etc/mail/sender-transport
297     
298 # The relay_domains parameter restricts what destinations this system will
299 # relay mail to.  See the smtpd_recipient_restrictions description in
300 # postconf(5) for detailed information.
301 #
302 # By default, Postfix relays mail
303 # - from "trusted" clients (IP address matches $mynetworks) to any destination,
304 # - from "untrusted" clients to destinations that match $relay_domains or
305 #   subdomains thereof, except addresses with sender-specified routing.
306 # The default relay_domains value is $mydestination.
307
308 # In addition to the above, the Postfix SMTP server by default accepts mail
309 # that Postfix is final destination for:
310 # - destinations that match $inet_interfaces or $proxy_interfaces,
311 # - destinations that match $mydestination
312 # - destinations that match $virtual_alias_domains,
313 # - destinations that match $virtual_mailbox_domains.
314 # These destinations do not need to be listed in $relay_domains.
315
316 # Specify a list of hosts or domains, /file/name patterns or type:name
317 # lookup tables, separated by commas and/or whitespace.  Continue
318 # long lines by starting the next line with whitespace. A file name
319 # is replaced by its contents; a type:name table is matched when a
320 # (parent) domain appears as lookup key.
321 #
322 # NOTE: Postfix will not automatically forward mail for domains that
323 # list this system as their primary or backup MX host. See the
324 # permit_mx_backup restriction description in postconf(5).
325 #
326 #relay_domains = $mydestination
327
328 # INTERNET OR INTRANET
329
330 # The relayhost parameter specifies the default host to send mail to
331 # when no entry is matched in the optional transport(5) table. When
332 # no relayhost is given, mail is routed directly to the destination.
333 #
334 # On an intranet, specify the organizational domain name. If your
335 # internal DNS uses no MX records, specify the name of the intranet
336 # gateway host instead.
337 #
338 # In the case of SMTP, specify a domain, host, host:port, [host]:port,
339 # [address] or [address]:port; the form [host] turns off MX lookups.
340 #
341 # If you're connected via UUCP, see also the default_transport parameter.
342 #
343 #relayhost = $mydomain
344 #relayhost = [gateway.my.domain]
345 #relayhost = [mailserver.isp.tld]
346 #relayhost = uucphost
347 #relayhost = [an.ip.add.ress]
348
349 # REJECTING UNKNOWN RELAY USERS
350 #
351 # The relay_recipient_maps parameter specifies optional lookup tables
352 # with all addresses in the domains that match $relay_domains.
353 #
354 # If this parameter is defined, then the SMTP server will reject
355 # mail for unknown relay users. This feature is off by default.
356 #
357 # The right-hand side of the lookup tables is conveniently ignored.
358 # In the left-hand side, specify an @domain.tld wild-card, or specify
359 # a user@domain.tld address.
360
361 #relay_recipient_maps = hash:/etc/postfix/relay_recipients
362
363 # INPUT RATE CONTROL
364 #
365 # The in_flow_delay configuration parameter implements mail input
366 # flow control. This feature is turned on by default, although it
367 # still needs further development (it's disabled on SCO UNIX due
368 # to an SCO bug).
369
370 # A Postfix process will pause for $in_flow_delay seconds before
371 # accepting a new message, when the message arrival rate exceeds the
372 # message delivery rate. With the default 100 SMTP server process
373 # limit, this limits the mail inflow to 100 messages a second more
374 # than the number of messages delivered per second.
375
376 # Specify 0 to disable the feature. Valid delays are 0..10.
377
378 #in_flow_delay = 1s
379
380 # ADDRESS REWRITING
381 #
382 # The ADDRESS_REWRITING_README document gives information about
383 # address masquerading or other forms of address rewriting including
384 # username->Firstname.Lastname mapping.
385
386 # ADDRESS REDIRECTION (VIRTUAL DOMAIN)
387 #
388 # The VIRTUAL_README document gives information about the many forms
389 # of domain hosting that Postfix supports.
390
391 # "USER HAS MOVED" BOUNCE MESSAGES
392 #
393 # See the discussion in the ADDRESS_REWRITING_README document.
394
395 # TRANSPORT MAP
396 #
397 # See the discussion in the ADDRESS_REWRITING_README document.
398
399 # ALIAS DATABASE
400 #
401 # The alias_maps parameter specifies the list of alias databases used
402 # by the local delivery agent. The default list is system dependent.
403 #
404 # On systems with NIS, the default is to search the local alias
405 # database, then the NIS alias database. See aliases(5) for syntax
406 # details.
407
408 # If you change the alias database, run "postalias /etc/aliases" (or
409 # wherever your system stores the mail alias file), or simply run
410 # "newaliases" to build the necessary DBM or DB file.
411 #
412 # It will take a minute or so before changes become visible.  Use
413 # "postfix reload" to eliminate the delay.
414 #
415 #alias_maps = dbm:/etc/aliases
416 #alias_maps = hash:/etc/aliases, hash:/usr/local/mailman/data/aliases
417 # ALEX DEHNERT - uncommented this line, adding the mail part of the first entry
418 # and all of the second (mailman) one
419 #alias_maps = hash:/etc/mail/aliases, hash:/usr/local/mailman/data/aliases
420 alias_maps = hash:/etc/mail/aliases, hash:/var/lib/mailman/data/aliases, hash:/home/alex/program/python/mail/aliases
421 #alias_maps = hash:/etc/aliases, nis:mail.aliases
422 #alias_maps = netinfo:/aliases
423
424 # The alias_database parameter specifies the alias database(s) that
425 # are built with "newaliases" or "sendmail -bi".  This is a separate
426 # configuration parameter, because alias_maps (see above) may specify
427 # tables that are not necessarily all under control by Postfix.
428 #
429 #alias_database = dbm:/etc/aliases
430 alias_database = hash:/etc/mail/aliases
431 #alias_database = hash:/etc/aliases
432 #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases
433
434 # ADDRESS EXTENSIONS (e.g., user+foo)
435 #
436 # The recipient_delimiter parameter specifies the separator between
437 # user names and address extensions (user+foo). See canonical(5),
438 # local(8), relocated(5) and virtual(5) for the effects this has on
439 # aliases, canonical, virtual, relocated and .forward file lookups.
440 # Basically, the software tries user+foo and .forward+foo before
441 # trying user and .forward.
442 #
443
444 # Alex Dehnert
445 # As of 2005-06-16, I have a "virtual" recipient_delimiter = .+
446 # By use of the regexp:/etc/postfix/canonical_regexp
447 # and recipient_delimiter = .
448 # Becuase of a regexp that translates the two forms
449 # See the file for more details
450
451 canonical_maps = regexp:/etc/mail/canonical_regexp
452 recipient_delimiter = .
453
454 # DELIVERY TO MAILBOX
455 #
456 # The home_mailbox parameter specifies the optional pathname of a
457 # mailbox file relative to a user's home directory. The default
458 # mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
459 # "Maildir/" for qmail-style delivery (the / is required).
460 #
461 #home_mailbox = Mailbox
462 home_mailbox = .maildir/
463  
464 # The mail_spool_directory parameter specifies the directory where
465 # UNIX-style mailboxes are kept. The default setting depends on the
466 # system type.
467 #
468 #mail_spool_directory = /var/mail
469 #mail_spool_directory = /var/spool/mail
470
471 # The mailbox_command parameter specifies the optional external
472 # command to use instead of mailbox delivery. The command is run as
473 # the recipient with proper HOME, SHELL and LOGNAME environment settings.
474 # Exception:  delivery for root is done as $default_user.
475 #
476 # Other environment variables of interest: USER (recipient username),
477 # EXTENSION (address extension), DOMAIN (domain part of address),
478 # and LOCAL (the address localpart).
479 #
480 # Unlike other Postfix configuration parameters, the mailbox_command
481 # parameter is not subjected to $parameter substitutions. This is to
482 # make it easier to specify shell syntax (see example below).
483 #
484 # Avoid shell meta characters because they will force Postfix to run
485 # an expensive shell process. Procmail alone is expensive enough.
486 #
487 # IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
488 # ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
489 #
490 #mailbox_commane = /some/where/procmail
491 mailbox_command = /usr/lib/dovecot/deliver
492 #mailbox_command = /some/where/procmail -a "$EXTENSION"
493
494 # Bump mailbox size limit to 512MB since cache files were maxing out
495 # See https://wiki.dovecot.org/LDA/Postfix
496 mailbox_size_limit = 512000000
497
498 # Max message size 40MB
499 message_size_limit = 41943040
500
501 # The mailbox_transport specifies the optional transport in master.cf
502 # to use after processing aliases and .forward files. This parameter
503 # has precedence over the mailbox_command, fallback_transport and
504 # luser_relay parameters.
505 #
506 # Specify a string of the form transport:nexthop, where transport is
507 # the name of a mail delivery transport defined in master.cf.  The
508 # :nexthop part is optional. For more details see the sample transport
509 # configuration file.
510 #
511 # NOTE: if you use this feature for accounts not in the UNIX password
512 # file, then you must update the "local_recipient_maps" setting in
513 # the main.cf file, otherwise the SMTP server will reject mail for    
514 # non-UNIX accounts with "User unknown in local recipient table".
515 #
516 #mailbox_transport = lmtp:unix:/file/name
517 #mailbox_transport = cyrus
518
519 # The fallback_transport specifies the optional transport in master.cf
520 # to use for recipients that are not found in the UNIX passwd database.
521 # This parameter has precedence over the luser_relay parameter.
522 #
523 # Specify a string of the form transport:nexthop, where transport is
524 # the name of a mail delivery transport defined in master.cf.  The
525 # :nexthop part is optional. For more details see the sample transport
526 # configuration file.
527 #
528 # NOTE: if you use this feature for accounts not in the UNIX password
529 # file, then you must update the "local_recipient_maps" setting in
530 # the main.cf file, otherwise the SMTP server will reject mail for    
531 # non-UNIX accounts with "User unknown in local recipient table".
532 #
533 #fallback_transport = lmtp:unix:/file/name
534 #fallback_transport = cyrus
535 #fallback_transport =
536
537 # The luser_relay parameter specifies an optional destination address
538 # for unknown recipients.  By default, mail for unknown@$mydestination,
539 # unknown@[$inet_interfaces] or unknown@[$proxy_interfaces] is returned
540 # as undeliverable.
541 #
542 # The following expansions are done on luser_relay: $user (recipient
543 # username), $shell (recipient shell), $home (recipient home directory),
544 # $recipient (full recipient address), $extension (recipient address
545 # extension), $domain (recipient domain), $local (entire recipient
546 # localpart), $recipient_delimiter. Specify ${name?value} or
547 # ${name:value} to expand value only when $name does (does not) exist.
548 #
549 # luser_relay works only for the default Postfix local delivery agent.
550 #
551 # NOTE: if you use this feature for accounts not in the UNIX password
552 # file, then you must specify "local_recipient_maps =" (i.e. empty) in
553 # the main.cf file, otherwise the SMTP server will reject mail for    
554 # non-UNIX accounts with "User unknown in local recipient table".
555 #
556 #luser_relay = $user@other.host
557 #luser_relay = $local@other.host
558 #luser_relay = jim.$local
559   
560 # JUNK MAIL CONTROLS
561
562 # The controls listed here are only a very small subset. The file
563 # SMTPD_ACCESS_README provides an overview.
564
565 # The header_checks parameter specifies an optional table with patterns
566 # that each logical message header is matched against, including
567 # headers that span multiple physical lines.
568 #
569 # By default, these patterns also apply to MIME headers and to the
570 # headers of attached messages. With older Postfix versions, MIME and
571 # attached message headers were treated as body text.
572 #
573 # For details, see "man header_checks".
574 #
575 #header_checks = regexp:/etc/postfix/header_checks
576
577 # FAST ETRN SERVICE
578 #
579 # Postfix maintains per-destination logfiles with information about
580 # deferred mail, so that mail can be flushed quickly with the SMTP
581 # "ETRN domain.tld" command, or by executing "sendmail -qRdomain.tld".
582 # See the ETRN_README document for a detailed description.
583
584 # The fast_flush_domains parameter controls what destinations are
585 # eligible for this service. By default, they are all domains that
586 # this server is willing to relay mail to.
587
588 #fast_flush_domains = $relay_domains
589
590 # SHOW SOFTWARE VERSION OR NOT
591 #
592 # The smtpd_banner parameter specifies the text that follows the 220
593 # code in the SMTP server's greeting banner. Some people like to see
594 # the mail version advertised. By default, Postfix shows no version.
595 #
596 # You MUST specify $myhostname at the start of the text. That is an
597 # RFC requirement. Postfix itself does not care.
598 #
599 #smtpd_banner = $myhostname ESMTP $mail_name
600 #smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
601
602 # PARALLEL DELIVERY TO THE SAME DESTINATION
603 #
604 # How many parallel deliveries to the same user or domain? With local
605 # delivery, it does not make sense to do massively parallel delivery
606 # to the same user, because mailbox updates must happen sequentially,
607 # and expensive pipelines in .forward files can cause disasters when
608 # too many are run at the same time. With SMTP deliveries, 10
609 # simultaneous connections to the same domain could be sufficient to
610 # raise eyebrows.
611
612 # Each message delivery transport has its XXX_destination_concurrency_limit
613 # parameter.  The default is $default_destination_concurrency_limit for
614 # most delivery transports. For the local delivery agent the default is 2.
615
616 #local_destination_concurrency_limit = 2
617 #default_destination_concurrency_limit = 20
618
619 # DEBUGGING CONTROL
620 #
621 # The debug_peer_level parameter specifies the increment in verbose
622 # logging level when an SMTP client or server host name or address
623 # matches a pattern in the debug_peer_list parameter.
624 #
625 debug_peer_level = 2
626
627 # The debug_peer_list parameter specifies an optional list of domain
628 # or network patterns, /file/name patterns or type:name tables. When
629 # an SMTP client or server host name or address matches a pattern,
630 # increase the verbose logging level by the amount specified in the
631 # debug_peer_level parameter.
632 #
633 #debug_peer_list = 127.0.0.1
634 #debug_peer_list = some.domain
635
636 # The debugger_command specifies the external command that is executed
637 # when a Postfix daemon program is run with the -D option.
638 #
639 # Use "command .. & sleep 5" so that the debugger can attach before
640 # the process marches on. If you use an X-based debugger, be sure to
641 # set up your XAUTHORITY environment variable before starting Postfix.
642 #
643 debugger_command =
644          PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
645          xxgdb $daemon_directory/$process_name $process_id & sleep 5
646
647 # If you can't use X, use this to capture the call stack when a
648 # daemon crashes. The result is in a file in the configuration
649 # directory, and is named after the process name and the process ID.
650 #
651 # debugger_command =
652 #       PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont;
653 #       echo where) | gdb $daemon_directory/$process_name $process_id 2>&1
654 #       >$config_directory/$process_name.$process_id.log & sleep 5
655 #
656 # Another possibility is to run gdb under a detached screen session.
657 # To attach to the screen sesssion, su root and run "screen -r
658 # <id_string>" where <id_string> uniquely matches one of the detached
659 # sessions (from "screen -list").
660 #
661 # debugger_command =
662 #       PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH; screen
663 #       -dmS $process_name gdb $daemon_directory/$process_name
664 #       $process_id & sleep 1
665
666 # INSTALL-TIME CONFIGURATION INFORMATION
667 #
668 # The following parameters are used when installing a new Postfix version.
669
670 # sendmail_path: The full pathname of the Postfix sendmail command.
671 # This is the Sendmail-compatible mail posting interface.
672
673 sendmail_path = /usr/sbin/sendmail
674
675 # newaliases_path: The full pathname of the Postfix newaliases command.
676 # This is the Sendmail-compatible command to build alias databases.
677 #
678 newaliases_path = /usr/bin/newaliases
679
680 # mailq_path: The full pathname of the Postfix mailq command.  This
681 # is the Sendmail-compatible mail queue listing command.
682
683 mailq_path = /usr/bin/mailq
684
685 # setgid_group: The group for mail submission and queue management
686 # commands.  This must be a group name with a numerical group ID that
687 # is not shared with other accounts, not even with the Postfix account.
688 #
689 setgid_group = postdrop
690
691 # html_directory: The location of the Postfix HTML documentation.
692 #
693 html_directory = /usr/share/doc/postfix-2.2.10/html
694
695 # manpage_directory: The location of the Postfix on-line manual pages.
696 #
697 manpage_directory = /usr/share/man
698
699 # sample_directory: The location of the Postfix sample configuration files.
700 # This parameter is obsolete as of Postfix 2.1.
701 #
702 sample_directory = /etc/postfix
703
704 # readme_directory: The location of the Postfix README files.
705 #
706 readme_directory = /usr/share/doc/postfix-2.2.10/readme
707 home_mailbox = .maildir/
708
709 ##########################
710 # MAILMAN RELATED CONFIG #
711 ##########################
712
713 # 2005-01-19
714 owner_request_special = no
715 smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated permit_auth_destination reject_unauth_destination