postfix/postfix.txt

Mon, 20 Apr 2009 20:16:01 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 20 Apr 2009 20:16:01 +0200
changeset 181
58360ee9c913
parent 179
6539a982f682
child 190
35b9f699911a
permissions
-rw-r--r--

Add missing files to runtime configuration and adjust buildconf.

     1 <file name="Makefile">
     2 ##
     3 ##  @l_prefix@/etc/postfix/Makefile -- maintainance procedures
     4 ##
     6 #   path configuration
     7 PREFIX       = @l_prefix@
     8 SBINDIR      = $(PREFIX)/sbin
     9 ETCDIR       = $(PREFIX)/etc
    11 #   program configuration
    12 RC           = $(ETCDIR)/rc
    13 POSTALIAS    = $(SBINDIR)/postalias
    14 POSTMAP      = $(SBINDIR)/postmap
    15 POSTFIX      = $(SBINDIR)/postfix
    17 #   table filename configuration
    18 T_ACCESS     = access
    19 T_CANONICAL  = canonical
    20 T_GENERIC    = generic
    21 T_VIRTUAL    = virtual
    22 T_RELOCATED  = relocated
    23 T_TRANSPORT  = transport
    24 T_ALIASES    = aliases
    25 T_CLIENTS    = clients
    26 T_SENDERS    = senders
    27 T_CLICRT     = clicrt
    29 #   dependency tracking
    30 TIMESTAMP    = .up-to-date
    31 DEPENDENCIES = Makefile master.cf main.cf $(TABLES)
    33 #   managed tables:
    34 #   - use extension ".db" for hash tables ("hash")
    35 #   - use no extension for regex tables ("pcre")
    36 TABLES = \
    37     $(T_ACCESS).db    \
    38     $(T_CANONICAL).db \
    39     $(T_GENERIC).db   \
    40     $(T_VIRTUAL).db   \
    41     $(T_RELOCATED).db \
    42     $(T_TRANSPORT).db \
    43     $(T_ALIASES).db \
    44     $(T_CLIENTS).db \
    45     $(T_SENDERS).db \
    46     $(T_CLICRT).db
    48 #   default target
    49 all: $(TABLES) $(TIMESTAMP)
    51 #   implicit checking and reloading
    52 $(TIMESTAMP): $(DEPENDENCIES)
    53 	$(POSTFIX) check
    54 	$(POSTFIX) reload >/dev/null 2>&1 || true
    55 	touch $(TIMESTAMP) && chmod 600 $(TIMESTAMP)
    57 #   explicit checking
    58 check:
    59 	$(POSTFIX) check
    61 #   hash table update targets
    62 $(T_ACCESS).db: $(T_ACCESS) $(MAKEFILE)
    63 	$(POSTMAP) hash:$(T_ACCESS)
    64 $(T_CANONICAL).db: $(T_CANONICAL) $(MAKEFILE)
    65 	$(POSTMAP) hash:$(T_CANONICAL)
    66 $(T_GENERIC).db: $(T_GENERIC) $(MAKEFILE)
    67 	$(POSTMAP) hash:$(T_GENERIC)
    68 $(T_VIRTUAL).db: $(T_VIRTUAL) $(MAKEFILE)
    69 	$(POSTMAP) hash:$(T_VIRTUAL)
    70 $(T_RELOCATED).db: $(T_RELOCATED) $(MAKEFILE)
    71 	$(POSTMAP) hash:$(T_RELOCATED)
    72 $(T_TRANSPORT).db: $(T_TRANSPORT) $(MAKEFILE)
    73 	$(POSTMAP) hash:$(T_TRANSPORT)
    74 $(T_ALIASES).db: $(T_ALIASES) $(MAKEFILE)
    75 	$(POSTALIAS) hash:$(T_ALIASES)
    76 $(T_CLIENTS).db: $(T_CLIENTS) $(MAKEFILE)
    77 	$(POSTMAP) hash:$(T_CLIENTS)
    78 $(T_SENDERS).db: $(T_SENDERS) $(MAKEFILE)
    79 	$(POSTMAP) hash:$(T_SENDERS)
    80 $(T_CLICRT).db: $(T_CLICRT) $(MAKEFILE)
    81 	$(POSTMAP) hash:$(T_CLICRT)
    83 #   cleanup target
    84 clean: 
    85 	-rm -f $(TABLES)
    86 	-rm -f $(TIMESTAMP)
    88 #   process management
    89 start:
    90 	$(RC) postfix start
    91 reload:
    92 	$(RC) postfix reload
    93 stop:
    94 	$(RC) postfix stop
    96 </file>
    97 <file name="master.cf">
    98 ##
    99 ##  @l_prefix@/etc/postfix/master.cf -- Postfix master process table
   100 ##
   101 # ==========================================================================
   102 # service type  private unpriv  chroot  wakeup  maxproc command + args
   103 #               (yes)   (yes)   (yes)   (never) (100)
   104 # ==========================================================================
   105 smtp       inet  n       -       n       -       -       smtpd
   106 #628       inet  n       -       n       -       -       qmqpd
   107 pickup     fifo  n       -       n       60      1       pickup
   108 cleanup    unix  n       -       n       -       0       cleanup
   109 qmgr       fifo  n       -       n       300     1       qmgr
   110 tlsmgr     unix  -       -       n       1000?   1       tlsmgr
   111 rewrite    unix  -       -       n       -       -       trivial-rewrite
   112 bounce     unix  -       -       n       -       0       bounce
   113 defer      unix  -       -       n       -       0       bounce
   114 trace      unix  -       -       n       -       0       bounce
   115 verify     unix  -       -       n       -       1       verify
   116 flush      unix  n       -       n       1000?   0       flush
   117 proxymap   unix  -       -       n       -       -       proxymap
   118 proxywrite unix  -       -       n       -       -       proxymap
   119 smtp       unix  -       -       n       -       -       smtp
   120 relay      unix  -       -       n       -       -       smtp -o fallback_relay=
   121 showq      unix  n       -       n       -       -       showq
   122 error      unix  -       -       n       -       -       error
   123 retry      unix  -       -       n       -       -       error
   124 local      unix  -       n       n       -       -       local
   125 virtual    unix  -       n       n       -       -       virtual
   126 lmtp       unix  -       -       n       -       -       lmtp
   127 anvil      unix  -       -       n       -       1       anvil
   128 scache     unix  -       -       n       -       1       scache
   129 #maildrop  unix  -       n       n       -       -       pipe flags=DRhu user=@l_nusr@ argv=@l_prefix@/bin/maildrop -d ${recipient}
   130 #cyrus     unix  -       n       n       -       -       pipe user=@l_nusr@ argv=@l_prefix@/bin/cyrdeliver -e -r ${sender} -m ${extension} ${user}
   131 #dovecot   unix  -       n       n       -       -       pipe flags=DR user=opmi-r argv=/opmi/libexec/dovecot/deliver -f ${sender} -d ${user} -n -m ${extension}
   132 #uucp      unix  -       n       n       -       -       pipe flags=Fqhu user=@l_nusr@ argv=@l_prefix@/bin/uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
   133 #ifmail    unix  -       n       n       -       -       pipe flags=F user=@l_nusr@ argv=@l_prefix@/bin/ifmail -r $nexthop ($recipient)
   134 #bsmtp     unix  -       n       n       -       -       pipe flags=Fq. user=@l_nusr@ argv=@l_prefix@/bin/bsmtp -f $sender $nexthop $recipient
   135 </file>
   136 <file name="main.cf">
   137 ##
   138 ##  @l_prefix@/etc/postfix/main.cf -- Postfix main configuration
   139 ##
   140 ##  Run "@l_prefix@/sbin/postconf -n" to see all parameters overriding
   141 ##  defaults, run "@l_prefix@/sbin/postconf -d" to see all possible
   142 ##  parameters and their defaults and read the following manual
   143 ##  pages for description of each parameter: bounce(8), cleanup(8),
   144 ##  defer(8), error(8), flush(8), lmtp(8), local(8), master(8),
   145 ##  pickup(8), pipe(8), qmgr(8), showq(8), smtp(8), smtpd(8), spawn(8),
   146 ##  trivial-rewrite(8).
   147 ##
   149 #   users
   150 mail_owner                    = @l_musr@
   151 setgid_group                  = @l_rgrp@
   152 default_privs                 = @l_nusr@
   154 #   local host
   155 myhostname                    = mail.example.com
   156 mydomain                      = example.com
   157 myorigin                      = $myhostname
   159 #   smtp daemon
   160 #smtpd_banner                 = $myhostname ESMTP $mail_name
   161 inet_interfaces               = 127.0.0.1
   163 #   smtp client
   164 smtp_bind_address             = 127.0.0.1
   166 #   relaying
   167 mynetworks                    = 127.0.0.0/8
   168 #mydestination                = $myhostname, localhost.$mydomain
   169 #relay_domains                = $mydestination, 
   170 #                               hash:@l_prefix@/etc/postfix/access
   171 #relay_clientcerts            = hash:@l_prefix@/etc//postfix/clicrt
   172 #smtpd_recipient_restrictions = permit_mynetworks, 
   173 #                               check_client_access hash:@l_prefix@/etc/postfix/access,
   174 #                               reject_unauth_destination
   176 #   maps
   177 #canonical_maps               = hash:@l_prefix@/etc/postfix/canonical
   178 #smtp_generic_maps            = hash:@l_prefix@/etc/postfix/generic
   179 #virtual_alias_maps           = hash:@l_prefix@/etc/postfix/virtual
   180 #relocated_maps               = hash:@l_prefix@/etc/postfix/relocated
   181 #transport_maps               = hash:@l_prefix@/etc/postfix/transport
   182 alias_maps                    = hash:@l_prefix@/etc/postfix/aliases
   183 alias_database                = hash:@l_prefix@/etc/postfix/aliases
   185 #   local delivery
   186 #local_recipient_maps         = proxy:unix:passwd.byname $alias_maps
   187 recipient_delimiter           = +
   188 mailbox_command               = @l_prefix@/bin/procmail -a "$EXTENSION"
   190 </file>
   191 <file name="access">
   192 ##
   193 ##  @l_prefix@/etc/postfix/access -- access control for relaying
   194 ##
   195 ##  Searched for both the client (hostname, parent domains, IP address,
   196 ##  networks obtained by stripping least significant octets from IP
   197 ##  address) and destination address (resolved destination address,
   198 ##  parent domain, or localpart@) in order to allow relaying. Rejects
   199 ##  the request if the result is REJECT or "[45]XX text". Permits the
   200 ##  request if the result is OK or RELAY or all-numerical.
   201 ##
   203 #   Syntax (see access(5)):
   204 #   | user@domain        action
   205 #   | domain             action
   206 #   | user@              action
   207 #   | net.work.addr.ess  action
   208 #   | net.work.addr      action
   209 #   | net.work           action
   210 #   | net                action
   211 #   where "action" is one of:
   212 #   "[45]NN text", "REJECT", "OK", "restriction..."
   213 #
   214 #   Examples:
   215 #   | mail.example.com OK
   216 #   | example.com      REJECT
   217 #   | 192.168.0.1      OK
   218 #   | 192.168          REJECT
   219 #   | postmaster@      OK
   221 </file>
   222 <file name="virtual">
   223 ##
   224 ##  @l_prefix@/etc/postfix/virtual -- virtual address translation
   225 ##
   226 ##  Searched for virtual addresses user@domain, user and @domain
   227 ##  (in this order). It redirect mail for all recipients, local or
   228 ##  remote. The mapping affects only envelope recipients.
   229 ##
   231 #   Syntax (see virtual(5)):
   232 #   | user@domain  address, address, ...
   233 #   | user         address, address, ...
   234 #   | @domain      address, address, ...
   235 #   
   236 #   Examples:
   237 #   | @example.com               john@example.com
   238 #   | postmaster@example.com     postmaster
   239 #   | john@example1.com          john1
   240 #   | john@example2.com          john2
   242 </file>
   243 <file name="aliases">
   244 ##
   245 ##  @l_prefix@/etc/postfix/aliases -- local mailbox aliases
   246 ##
   247 ##  Searched for virtual addresses user@domain, user and @domain
   248 ##  (in this order). It redirect mail for all recipients, local or
   249 ##  remote. The mapping affects only envelope recipients.
   250 ##
   252 #   Syntax (see aliases(5)):
   253 #   | name:         value, value, ...
   254 #   where value is one of:
   255 #   "address", "/file/name", "|command", ":include:/file/name"
   256 #
   257 #   Examples:
   258 #   | john.doe:     john, doe
   259 #   | robot:        |/path/to/robot
   260 #   | archive:      /path/to/archive
   261 #   | users:        :include:/path/to/users.list
   262 #   | owner-users:  john.doe
   264 #   standard mail targets
   265 nobody:                /dev/null
   266 MAILER-DAEMON:         postmaster
   268 #   mailbox names for common services, roles and functions
   269 #   (see RFC2142 for more details and expanded list of names)
   270 postmaster:            root
   271 hostmaster:            root
   272 security:              root
   273 abuse:                 root
   275 #   save unprivileged user storage of careless admins
   276 root:                  /dev/null
   278 </file>
   279 <file name="canonical">
   280 ##
   281 ##  @l_prefix@/etc/postfix/canonical -- address canonification on mail receiving
   282 ##
   283 ##  Searched for canonical addresses for user@domain, user and @domain
   284 ##  (in this order).
   285 ##
   287 #   Syntax (see canonical(5)):
   288 #   | user@domain  address
   289 #   | user         address
   290 #   | @domain      address
   291 #
   292 #   Examples:
   293 #   | postmaster@mail.example.com postmaster@example.com
   294 #   | john                        John.Doe
   295 #   | @example.com                @example.com
   297 </file>
   298 <file name="relocated">
   299 ##
   300 ##  @l_prefix@/etc/postfix/relocated -- relocate obsolete addresses
   301 ##
   302 ##  Searched for relocated addresses user@domain, user and @domain
   303 ##  (in this order). It bounces mail for all recipients.
   304 ##
   306 #   Syntax (see relocated(5)):
   307 #   | user@domain     address
   308 #   | user            address
   309 #   | @domain         address
   310 #
   311 #   Examples:
   312 #   | john@invalid    john@example.com
   313 #   | john            john@example.com
   314 #   | @invalid        john@example.com
   316 </file>
   317 <file name="generic">
   318 ##
   319 ##  @l_prefix@/etc/postfix/generic -- address canonification on mail sending
   320 ##
   321 ##  Searched for canonical addresses for user@domain, user and @domain
   322 ##  (in this order).
   323 ##
   325 #   Syntax (see generic(5)):
   326 #   | user@domain  address
   327 #   | user         address
   328 #   | @domain      address
   329 #
   330 #   Examples:
   331 #   | postmaster@mail.example.com postmaster@example.com
   332 #   | john                        John.Doe
   333 #   | @example.com                @example.com
   335 </file>
   336 <file name="transport">
   337 ##
   338 ##  @l_prefix@/etc/postfix/transport -- transport selection
   339 ##
   340 ##  Searched for domain and .domain (in this order). It selects the
   341 ##  specified transport facility for delivery.
   342 ##
   344 #   Syntax (see transport(5)):
   345 #   | domain  transport:nexthop
   346 #   | .domain transport:nexthop
   347 #
   348 #   Examples:
   349 #   | me.example.com             local:
   350 #   | you.example.com            smtp:mail.example.com:2525
   351 #   | example.com                smtp:mail.example.com
   352 #   | .example.com               smtp:mail.example.com
   354 </file>
   355 <file name="clients">
   356 ##
   357 ##  @l_prefix@/etc/postfix/clients -- control for relaying clients
   358 ##
   359 ##  Searched for both the client (hostname, parent domains, IP address,
   360 ##  networks obtained by stripping least significant octets from IP
   361 ##  address) and destination address (resolved destination address,
   362 ##  parent domain, or localpart@) in order to allow relaying. Rejects
   363 ##  the request if the result is REJECT or "[45]XX text". Permits the
   364 ##  request if the result is OK or RELAY or all-numerical.
   365 ##
   367 #   Syntax (see postmap(5)):
   368 #   | user@domain        action
   369 #   | domain             action
   370 #   | user@              action
   371 #   | net.work.addr.ess  action
   372 #   | net.work.addr      action
   373 #   | net.work           action
   374 #   | net                action
   375 #   where "action" is one of:
   376 #   "[45]NN text", "REJECT", "OK", "restriction..."
   377 #
   378 #   Examples:
   379 #   | mail.example.com OK
   380 #   | example.com      REJECT
   381 #   | 192.168.0.1      OK
   382 #   | 192.168          REJECT
   383 #   | postmaster@      OK
   385 </file>
   386 <file name="senders">
   387 ##
   388 ##  @l_prefix@/etc/postfix/senders -- control for relaying senders
   389 ##
   390 ##  Searched for both the client (hostname, parent domains, IP address,
   391 ##  networks obtained by stripping least significant octets from IP
   392 ##  address) and destination address (resolved destination address,
   393 ##  parent domain, or localpart@) in order to allow relaying. Rejects
   394 ##  the request if the result is REJECT or "[45]XX text". Permits the
   395 ##  request if the result is OK or RELAY or all-numerical.
   396 ##
   398 #   Syntax (see access(5)):
   399 #   | user@domain        action
   400 #   | domain             action
   401 #   | user@              action
   402 #   | net.work.addr.ess  action
   403 #   | net.work.addr      action
   404 #   | net.work           action
   405 #   | net                action
   406 #   where "action" is one of:
   407 #   "[45]NN text", "REJECT", "OK", "restriction..."
   408 #
   409 #   Examples:
   410 #   | mail.example.com OK
   411 #   | example.com      REJECT
   412 #   | 192.168.0.1      OK
   413 #   | 192.168          REJECT
   414 #   | postmaster@      OK
   416 </file>
   417 <file name="clicrt">
   418 ##
   419 ##  @l_prefix@/etc/postfix/clicrt -- user identity verification
   420 ##
   421 ##  Searched for user names matching TLS certificate fingerprints
   422 ##  when a client responding to the MTA's client certificate request
   423 ##  presents a valid (signed from proper CA) certificate.
   424 ##
   425 ##  To find such fingerprints given a valid client certificate:
   426 ##    @l_prefix@/bin/openssl x509 -noout -fingerprint -sha1 -in certfile.pem
   427 ##
   429 #   Syntax (fingerprint according to smtpd_tls_fingerprint_digest):
   430 #   | fingerprint arbitrary-value
   431 #
   432 #   Examples:
   433 #   | B8:B8:A8:AE:B8:2A:2B:74:EC:43:FF:4F:B2:B2:AC:1E:B4:CE:26:1D user1
   434 #   | 18:81:F5:22:18:BA:EB:15:FF:40:30:00:EA:C0:B4:2E:EC:AE:86:8E user2
   436 </file>

mercurial