Fix post-transport-crash: safeguard for missing spool BUG 1671
[users/jgh/exim.git] / test / confs / 0001
1 # Exim test configuration 0001
2
3 # This configuration sets every option that is not dependent on optional code
4 # in the binary, except for exim_user and exim_group, because setting them can
5 # mess up the creation of the spool directory etc.
6
7 exim_path = EXIM_PATH
8 host_lookup_order = bydns
9 spool_directory = DIR/spool
10 log_file_path = DIR/spool/log/%slog
11 gecos_pattern = ""
12 gecos_name = CALLER_NAME
13
14
15 no_accept_8bitmime
16 acl_not_smtp = check_local_message
17 acl_smtp_auth = check_auth
18 acl_smtp_connect = check_connect
19 acl_smtp_data = check_message
20 acl_smtp_etrn = check_etrn
21 acl_smtp_expn = check_expn
22 acl_smtp_helo = check_helo
23 acl_smtp_mail = check_mail
24 acl_smtp_mailauth = check_mailauth
25 acl_smtp_quit = check_quit
26 acl_smtp_predata = check_predata
27 acl_smtp_rcpt = check_recipient
28 acl_smtp_vrfy = check_vrfy
29 admin_groups = 1234
30 allow_mx_to_ip
31 allow_utf8_domains
32 auth_advertise_hosts = a.a.h
33 auto_thaw = 1d
34 bi_command =
35 bounce_message_file =
36 bounce_message_text =
37 bounce_return_body = false
38 no_bounce_return_message
39 return_size_limit = 12K
40 bounce_return_size_limit = 10K
41 callout_domain_negative_expire = 1h
42 callout_domain_positive_expire = 1d
43 callout_negative_expire = 5h
44 callout_positive_expire = 1w
45 callout_random_local_part = xxx\
46                             xx
47 check_log_inodes = 0
48 check_log_space = 0
49 check_spool_inodes = 0
50 check_spool_space = 0
51 daemon_smtp_port =
52 daemon_smtp_ports =
53 daemon_startup_retries = 3
54 daemon_startup_sleep = 8s
55 delay_warning = 1d
56 delay_warning_condition = ${if match{$h_precedence:}{(?i)bulk|list}{no}{yes}}
57 deliver_drop_privilege
58 deliver_queue_load_max = 6.2
59 delivery_date_remove
60 dns_again_means_nonexist = *.esri.com:jeni.com
61 dns_check_names_pattern = ^.*$
62 dns_ipv4_lookup = *
63 dns_retrans = 0s
64 dns_retry = 0
65 drop_cr
66 envelope_to_remove
67 errors_copy =
68 errors_reply_to = postmaster@cam.ac.uk
69 extra_local_interfaces = 1.2.3.4
70 no_extract_addresses_remove_arguments
71 finduser_retries = 0
72 allow_domain_literals
73 freeze_tell = postmaster
74 headers_charset = UTF-8
75 header_maxsize = 2M
76 header_line_maxsize = 2K
77 helo_accept_junk_hosts =
78 helo_allow_chars = _
79 helo_lookup_domains =
80 helo_verify_hosts = localhost
81 helo_try_verify_hosts = 1.2.3.4
82 hold_domains =
83 host_lookup = a.b.c.d
84 host_reject_connection = 10.9.8.7
85 hosts_connection_nolog = 127.0.0.1
86 hosts_treat_as_local =
87 ignore_bounce_errors_after = 2m
88 ignore_fromline_hosts = a.b.c.d
89 ignore_fromline_local
90 keep_malformed = 4d
91 no_local_from_check
92 local_from_prefix = *-
93 local_from_suffix = =*
94 local_interfaces =
95 local_scan_timeout = 10s
96 local_sender_retain
97 localhost_number = "3 "
98 log_selector =  \
99               +address_rewrite \
100               -all \
101               +all_parents \
102               +arguments \
103               -connection_reject \
104               -delay_delivery \
105               +incoming_interface \
106               +incoming_port \
107               +lost_incoming_connection \
108               -queue_run \
109               +received_recipients \
110               +received_sender \
111               -retry_defer \
112               +return_path_on_delivery \
113               +sender_on_delivery \
114               +size_reject \
115               -skip_delivery \
116               +smtp_confirmation \
117               +smtp_connection \
118               +smtp_syntax_error \
119               +subject \
120               +tls_cipher \
121               +tls_peerdn
122 log_timezone
123 lookup_open_max = 16
124 max_username_length = 8
125 message_body_visible = 500
126 message_id_header_domain = a.b.c
127 message_id_header_text = x.y.z
128 no_message_logs
129 message_size_limit = 500K
130 mua_wrapper
131 never_users = root:0
132 percent_hack_domains =
133 pipelining_advertise_hosts = *.b.c
134 pid_file_path = /some/thing
135 no_preserve_message_logs
136 primary_hostname = some.host.name
137 no_print_topbitchars
138 process_log_path = /a/b/c/d
139 prod_requires_admin
140 qualify_domain = some.dom.ain
141 qualify_recipient = some.dom.ain
142 queue_domains = a.b.c
143 queue_list_requires_admin
144 no_queue_only
145 no_queue_only_override
146 queue_only_file = /var/spool/exim/queue_only
147 queue_only_load = 8.2
148 no_queue_run_in_order
149 queue_run_max = 5
150 queue_smtp_domains = x.y.z
151 receive_timeout = 0s
152 received_header_text = Received: ${if def:sender_rcvhost {from ${sender_rcvhost}\n\t}{${if def:sender_ident {from ${sender_ident} }}${if def:sender_helo_name {(helo=${sender_helo_name})\n\t}}}}by ${primary_hostname} ${if def:received_protocol {with ${received_protocol}}} (Exim ${version_number} #${compile_number})\n\tid ${message_id}${if def:received_for {\n\tfor $received_for}}
153 received_headers_max = 30
154 recipient_unqualified_hosts = localhost:some.host.name
155 recipients_max = 0
156 no_recipients_max_reject
157 remote_max_parallel = 1
158 remote_sort_domains =
159 retry_data_expire = 24h
160 retry_interval_max = 3d
161 return_path_remove
162 rfc1413_hosts =
163 sender_unqualified_hosts = localhost:some.host.name
164 smtp_accept_keepalive
165 smtp_accept_max = 20
166 smtp_accept_max_nonmail = 40
167 smtp_accept_max_nonmail_hosts = !       *.b.c
168 smtp_accept_max_per_connection = 20
169 smtp_accept_max_per_host = 4
170 smtp_accept_queue = 0
171 smtp_accept_queue_per_connection = 10
172 smtp_active_hostname = x.y.z
173 no_smtp_enforce_sync
174 smtp_max_synprot_errors = 11
175 smtp_max_unknown_commands = 10
176 smtp_ratelimit_hosts = *
177 smtp_ratelimit_mail = 1, 1s, 2, 10s
178 smtp_ratelimit_rcpt = 10, 2s, 5, 5m
179 smtp_accept_reserve = 0
180 smtp_banner = ${primary_hostname} ESMTP Exim ${version_number} #${compile_number} ${tod_full}
181 smtp_check_spool_space
182 smtp_connect_backlog = 5
183 smtp_etrn_command =
184 smtp_etrn_serialize
185 smtp_load_reserve = 2
186 smtp_receive_timeout = 1m
187 smtp_reserve_hosts =
188 smtp_return_error_details
189 no_split_spool_directory
190 no_strip_excess_angle_brackets
191 no_strip_trailing_dot
192 no_syslog_duplication
193 syslog_facility = uucp
194 syslog_processname = mta-exim
195 no_syslog_timestamp
196 system_filter = /home/exim/test/filter
197 system_filter_directory_transport =
198 system_filter_file_transport =
199 system_filter_group = mail
200 system_filter_pipe_transport =
201 system_filter_reply_transport =
202 system_filter_user = 99
203 tcp_nodelay = false
204 timeout_frozen_after = 7d
205 timezone = EDT
206 trusted_groups = 42
207 trusted_users = ${readfile{DIR/aux-fixed/TESTNUM.trusted}{:}}
208 unknown_login = unknownlogin
209 unknown_username = Exim Testing
210 untrusted_set_sender = *
211 uucp_from_pattern = ^From\s+(\S+)\s+(?:[a-zA-Z]{3},?\s+)?(?:[a-zA-Z]{3}\s+\d?\d|\d?\d\s+[a-zA-Z]{3}\s+\d\d(?:\d\d)?)\s+\d\d?:\d\d?
212 uucp_from_sender = $1
213 warn_message_file = /home/exim/test/warnmsg_file
214 write_rejectlog = false
215
216
217 # ----- Routers -----
218
219 begin routers
220
221 # The manualroute router
222
223 manualroute:
224   driver = manualroute
225   address_data = domainlist address data
226   cannot_route_message = can't route this address
227   caseful_local_part
228   condition =
229   debug_print =
230   disable_logging
231   domains =
232   errors_to =
233   no_fail_verify_recipient
234   no_fail_verify_sender
235   fallback_hosts = localhost
236   group = mail
237   headers_add =
238   headers_remove =
239   host_find_failed = freeze
240   hosts_randomize
241   no_initgroups
242   local_parts =
243   more
244   no_pass_on_timeout
245   pass_router = manualroute2
246   redirect_router = manualroute2
247   require_files =
248   route_data = ${lookup{$local_part}lsearch{/}}
249   router_home_directory = /usr
250   self = freeze
251   senders =
252   transport = smtp
253   no_unseen
254   user = root
255   no_verify_only
256   verify_recipient
257   verify_sender
258
259 # Manualroute2 router, for mutually exclusive options
260
261 manualroute2:
262   driver = manualroute
263   domains = ! +local_domains
264   route_list = ^fax(\.cl(\.cam(\.ac\.uk)?)?)?$ cl.cam.ac.uk; \
265                *.uucp  britain.eu.net
266
267 # The redirect router, in "alias" mode
268
269 alias:
270   driver = redirect
271   address_data = aliasfile address data
272   allow_fail
273   allow_freeze
274   caseful_local_part
275   no_check_ancestor
276   condition =
277   data = ${lookup{$local_part}lsearch{/etc/aliases}}
278   debug_print =
279   directory_transport = dummy
280   domains =
281   errors_to =
282   expn
283   no_fail_verify_recipient
284   no_fail_verify_sender
285   fallback_hosts =
286   file_transport = dummy
287   forbid_blackhole
288   no_forbid_file
289   forbid_include
290   no_forbid_pipe
291   group = 100
292   headers_add =
293   headers_remove =
294   hide_child_in_errmsg
295   include_directory = /i/n/c
296   no_initgroups
297   local_part_prefix =
298   no_local_part_prefix_optional
299   local_part_suffix =
300   no_local_part_suffix_optional
301   local_parts =
302   more
303   no_one_time
304   pipe_transport = dummy
305   no_qualify_preserve_domain
306   no_repeat_use
307   qualify_domain = xxxx
308   redirect_router = aliasfile2
309   require_files =
310   retry_use_local_part
311   no_rewrite
312   senders =
313   sieve_vacation_directory = /thing/thong
314   sieve_subaddress = rhubarb
315   sieve_useraddress = custard
316   no_skip_syntax_errors
317   syntax_errors_to =
318   transport_current_directory =
319   transport_home_directory =
320   no_unseen
321   user = 100
322   no_verify_only
323   verify_recipient
324   verify_sender
325
326 # Aliasfile2 for mutually exclusive options
327
328 aliasfile2:
329   driver = redirect
330   allow_defer
331   caseful_local_part
332   check_group
333   check_owner
334   file = /some/file
335   retry_use_local_part
336
337 # The redirect router in "forward" mode
338
339 forward:
340   driver = redirect
341   allow_filter
342   forbid_exim_filter
343   forbid_sieve_filter
344   caseful_local_part
345   check_ancestor
346   check_local_user
347   condition =
348   debug_print =
349   directory_transport = dummy
350   domains =
351   errors_to =
352   expn
353   no_fail_verify_recipient
354   no_fail_verify_sender
355   fallback_hosts =
356   file = //.forward2
357   file_transport = dummy
358   no_forbid_file
359   forbid_blackhole
360   forbid_filter_existstest
361   no_forbid_filter_logwrite
362   forbid_filter_dlfunc
363   forbid_filter_lookup
364   forbid_filter_readfile
365   forbid_filter_readsocket
366   forbid_filter_reply
367   forbid_filter_run
368   no_forbid_include
369   no_forbid_pipe
370   group = mail
371   headers_add =
372   headers_remove =
373   hide_child_in_errmsg
374   no_ignore_eacces
375   no_ignore_enotdir
376   no_initgroups
377   local_part_prefix = xxx-
378   local_part_prefix_optional
379   local_part_suffix =
380   no_local_part_suffix_optional
381   local_parts =
382   modemask = 022
383   more
384   no_one_time
385   owners = root
386   owngroups = mail
387   pipe_transport = dummy
388   no_qualify_preserve_domain
389   redirect_router = aliasfile2
390   reply_transport = dummy
391   require_files =
392   rewrite
393   senders =
394   no_skip_syntax_errors
395   syntax_errors_text = rhubarb
396   syntax_errors_to =
397   transport_current_directory =
398   transport_home_directory =
399   no_unseen
400   user = root
401   no_verify_only
402   no_verify_recipient
403   no_verify_sender
404
405 # The accept router
406
407 localuser:
408   driver = accept
409   no_address_test
410   caseful_local_part
411   check_local_user
412   condition =
413   debug_print =
414   domains =
415   errors_to =
416   expn
417   no_fail_verify_recipient
418   no_fail_verify_sender
419   fallback_hosts =
420   group = mail
421   headers_add = X-added: by localuser
422   headers_remove =
423   no_initgroups
424   local_part_prefix =
425   no_local_part_prefix_optional
426   local_part_suffix =
427   no_local_part_suffix_optional
428   local_parts =
429   no_log_as_local
430   more
431   redirect_router = smartuser
432   require_files =
433   senders =
434   transport = ${if eq{$local_part}{caller}{local_mbx_delivery}{local_delivery}}
435   transport_current_directory =
436   transport_home_directory =
437   no_unseen
438   user = 99
439   no_verify_only
440   verify_recipient
441   verify_sender
442
443 # The redirect router in "smartuser" mode
444
445 smartuser:
446   driver = redirect
447   caseful_local_part
448   condition =
449   data = user@domain
450   debug_print =
451   domains =
452   errors_to =
453   expn
454   no_fail_verify_recipient
455   no_fail_verify_sender
456   fallback_hosts =
457   file_transport = dummy
458   forbid_file
459   forbid_pipe
460   group = mail
461   headers_add =
462   headers_remove =
463   hide_child_in_errmsg
464   no_initgroups
465   local_part_prefix =
466   no_local_part_prefix_optional
467   local_part_suffix =
468   no_local_part_suffix_optional
469   local_parts = abcd
470   log_as_local
471   more
472   pipe_transport = dummy
473   qualify_preserve_domain
474   redirect_router = localuser
475   require_files =
476   retry_use_local_part
477   no_rewrite
478   senders =
479   no_unseen
480   user = root
481   no_verify_only
482   verify_recipient
483   verify_sender
484
485
486 # ----- Transports -----
487
488 # Dummy transport, to refer back to
489
490 begin transports
491
492 dummy:
493   driver = pipe
494   disable_logging
495
496 # Appendfile Transport
497
498 appendfile:
499   driver = appendfile
500   allow_fifo
501   no_allow_symlink
502   batch_max = 100
503   batch_id = rhubarb
504   body_only
505   no_check_group
506   no_check_owner
507   check_string = abcd
508   create_directory
509   create_file = anywhere
510   current_directory =
511   debug_print =
512   delivery_date_add
513   directory_mode = 0700
514   envelope_to_add
515   escape_string = xyz
516   file = /home/$local_part/inbox
517   file_format = "From : appendfile"
518   no_file_must_exist
519   group = mail
520   headers_add = X-original-domain: $original_domain\nX-original-localp: $original_local_part
521   headers_remove =
522   headers_rewrite = a@b c@d
523   lock_fcntl_timeout = 10s
524   lock_interval = 3s
525   lock_retries = 10
526   lockfile_mode = 0600
527   lockfile_timeout = 30m
528   mailbox_size = 1000
529   mailbox_filecount = 9999
530   message_size_limit = 1M
531   mode = 0600
532   mode_fail_narrower
533   no_notify_comsat
534   message_prefix = From ${if def:return_path{$return_path}{MAILER-DAEMON}} ${tod_bsdinbox}\n
535   quota =
536   no_quota_is_inclusive
537   quota_size_regex = (\d+)$
538   quota_warn_message = "A warning message"
539   quota_warn_threshold =
540   rcpt_include_affixes
541   retry_use_local_part
542   return_path = xxxx
543   return_path_add
544   shadow_condition = $h_return-receipt-to
545   shadow_transport = dummy
546   message_suffix = \n
547   transport_filter =
548   transport_filter_timeout = 10s
549   no_use_crlf
550   use_fcntl_lock
551   use_lockfile
552   user = root
553
554 # For options that are mutually exclusive with those above
555
556 appendfile2:
557   driver = appendfile
558   directory = /etc
559   directory_file = afilename
560   quota_directory = /some/directory
561   quota = 1M
562   quota_filecount = 10
563   use_bsmtp
564
565 # Ditto
566
567 appendfile4:
568   driver = appendfile
569   directory = /etc
570
571 # Smtp transport
572
573 smtp:
574   driver = smtp
575   authenticated_sender = abcde
576   authenticated_sender_force = true
577   no_allow_localhost
578   command_timeout = 5m
579   connect_timeout = 0s
580   connection_max_messages = 0
581   data_timeout = 5m
582   debug_print =
583   delay_after_cutoff
584   no_delivery_date_add
585   dns_qualify_single
586   no_dns_search_parents
587   no_envelope_to_add
588   fallback_hosts = localhost
589   final_timeout = 10m
590   no_gethostbyname
591   headers_add =
592   headers_remove =
593   helo_data = some.text
594   hosts = localhost
595   hosts_avoid_esmtp = x.y.z
596   hosts_max_try = 10
597   hosts_max_try_hardlimit = 20
598   hosts_override
599   hosts_randomize
600   hosts_require_auth = *
601   hosts_try_auth = *
602   interface = 127.0.0.1
603   max_rcpt = 0
604   multi_domain
605   port = 25
606   retry_include_ip_address
607   no_return_path_add
608   serialize_hosts =
609   size_addition = -1
610   transport_filter =
611
612 # End