Mon, 20 Apr 2009 20:16:01 +0200
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>