Add ${list:name} and ${nlist:string} expansion operators.
[exim.git] / doc / doc-txt / OptionLists.txt
CommitLineData
495ae4b0
PH
1LISTS OF EXIM OPTIONS
2---------------------
3
0bd1a913 4This file contains complete lists of four kinds of Exim option:
495ae4b0
PH
5
6 1. Those that can appear in the run time configuration file;
7 2. Those that can be used on the command line;
8 3. Those that can appear in the build time configuration (Local/Makefile);
9 4. Those that can appear in the build time configuration for the Exim monitor
10 (Local/eximon.conf).
11
22380b86 12This file was last updated for Exim release 4.72.
495ae4b0
PH
13
14
151. RUN TIME OPTIONS
16-------------------
17
18As Exim has developed, new options have been added at each major release. For
19the most part, backwards compatibility has been maintained, and obsolete
20options continue to be recognized. However, incompatible changes took place at
21releases 3.00, and 4.00. In both cases, several groups of options were
22amalgamated into new, extended options, and obsolete options were removed.
23
24The table below contains a complete list of all Exim's current options, along
25with their types, default values, and where they can be used. String options
26that are expanded before use are marked with *. Host lists, domain lists, and
27address lists are always expanded. In some cases the defaults are not fixed
28values, or not short enough to fit in the table. These are indicated by +. Some
29other default values are determined when the Exim binary is compiled; these are
30indicated by ++.
31
32For options that are specific to a particular driver, the fourth column
33contains the driver name, for example, appendfile. Otherwise, it contains
34
35 . `main' for options that appear in the main section of Exim's configuration
36 file;
37
38 . `authenticators' for generic options that apply to any authenticator;
39
40 . `routers' for generic options that apply to any router;
41
42 . `transports' for generic options that apply to any transport.
43
44The fifth column contains the version of Exim in which the option was added, or
45substantially changed. Where no number is given, the option has been in Exim
46since the very early releases. The routers were completely reorganised for
47release 4.00, and so no router options are shown as earlier than 4.00, though
48in fact some of them were inherited from earlier versions.
49
50-----------------------------------------------------------------------------------------
b1770b6e 51accept_8bitmime boolean true main 1.60 changed to true in 4.80
495ae4b0 52acl_not_smtp string* unset main 4.11
54cdb463 53acl_not_smtp_mime string* unset main 4.51 with content scan
495ae4b0
PH
54acl_smtp_auth string* unset main 4.00
55acl_smtp_connect string* unset main 4.11
56acl_smtp_data string* unset main 4.00
57acl_smtp_etrn string* unset main 4.00
58acl_smtp_expn string* unset main 4.00
59acl_smtp_helo string* unset main 4.20
60acl_smtp_mail string* unset main 4.11
61acl_smtp_mailauth string* unset main 4.21
54cdb463 62acl_smtp_mime string* unset main 4.50 with content scan
495ae4b0
PH
63acl_smtp_predata string* unset main 4.43
64acl_smtp_quit string* unset main 4.43
65acl_smtp_rcpt string* unset main 4.00
66acl_smtp_starttls string* unset main 4.11
67acl_smtp_vrfy string* unset main 4.00
68address_data string* unset routers 4.00
48c7f9e2 69address_retry_include_sender boolean true smtp 4.64
495ae4b0
PH
70address_test boolean true routers 4.14
71admin_groups string list unset main 3.02
72allow_domain_literals boolean false main 4.00 replacing forbid_domain_literals
73allow_commands string list* unset pipe 1.89
74allow_defer boolean false redirect 4.00
75allow_fail boolean false redirect 4.00
76allow_filter boolean false redirect 4.00
77allow_freeze boolean false redirect 4.00
78allow_fifo boolean false appendfile 3.13
79allow_localhost boolean false smtp 1.73
80allow_mx_to_ip boolean false main 3.14
81allow_symlink boolean false appendfile
82allow_utf8_domains boolean false main 4.14
83auth_advertise_hosts host list "*" main 4.00
84authenticated_sender string* unset smtp 4.14
382afc6b 85authenticated_sender_force boolean false smtp 4.61
495ae4b0
PH
86authenticate_hosts host list unset smtp 3.13
87auto_thaw time 0s main
54cdb463 88av_scanner string* + main 4.50 with content scan
495ae4b0
PH
89batch_id string unset appendfile 4.00
90 unset lmtp 4.00
91 unset pipe 4.00
92batch_max integer 100 appendfile
93 100 lmtp 3.20
94 100 pipe
95bcc string* unset autoreply
96bi_command string unset main
97body_only boolean false transports 2.05
98bounce_message_file string unset main 4.00
99bounce_message_text string unset main 4.00
100bounce_return_body boolean true main 4.23
101bounce_return_message boolean true main 4.00
102bounce_return_size_limit int 100K main 4.23 better name for return_size_limit
103bounce_sender_authentication string unset main 4.00
104callout_domain_negative_expire time 3h main 4.11
105callout_domain_positive_expire time 7d main 4.11
106callout_negative_expire time 2h main 4.11
107callout_positive_expire time 24h main 4.11
108callout_random_local_part string* + main 4.11
109cannot_route_message string* unset routers 4.11
110caseful_local_part boolean false routers 4.00
111cc string* unset autoreply
112check_ancestor boolean false redirect 4.00
113check_group boolean false appendfile
114 + redirect 4.00
115check_local_user boolean false routers 4.00
116check_log_inodes integer 0 main
117check_log_space integer 0 main
118check_owner boolean true appendfile 3.14
119 + redirect 4.00
d1e83bff 120check_rfc2047_length boolean true main 4.60
495ae4b0
PH
121check_secondary_mx boolean false dnslookup 4.00
122check_spool_inodes integer 0 main
123check_spool_space integer 0 main
124check_string string "From " appendfile 3.03
125 unset pipe 3.03
126check_srv string* unset dnslookup 4.31
8669f003 127client_condition string* unset authenticators 4.68
4730f942 128client_ignore_invalid_base64 boolean false plaintext 4.61
495ae4b0
PH
129client_name string* + cram_md5 3.10
130client_secret string* unset cram_md5 3.10
131client_send string* unset plaintext 3.10
132command string* unset lmtp 3.20
133 unset pipe
134 unset queryprogram 4.00
135command_group string unset queryprogram 4.00
136command_timeout time 5m smtp
137command_user string unset queryprogram 4.00
138condition string* unset routers 4.00
139connect_timeout time 0s smtp 1.60
140connection_max_messages integer 500 smtp 4.00 replaces batch_max
141create_directory boolean true appendfile
142create_file string "anywhere" appendfile
143current_directory string unset transports 4.00
144 unset queryprogram 4.00
145daemon_smtp_ports string unset main 1.75 pluralised in 4.21
4aee0225
PH
146daemon_startup_retries int 9 main 4.52
147daemon_startup_sleep time 30s main 4.52
495ae4b0
PH
148data string unset redirect 4.00
149data_timeout time 5m smtp
150debug_print string* unset authenticators 4.00
151 unset routers 4.00
152 unset transports 2.00
153delay_after_cutoff boolean true smtp
154delay_warning time list 24h main
155delay_warning_condition string* + main 1.73
156deliver_drop_privilege boolean false main 4.00
157deliver_queue_load_max fixed-point unset main 1.70
158delivery_date_add boolean false transports
159delivery_date_remove boolean true main
22380b86
PP
160dkim_canon string* unset smtp 4.70
161dkim_domain string list* unset smtp 4.72
162dkim_private_key string* unset smtp 4.70
163dkim_selector string* unset smtp 4.70
164dkim_sign_headers string* (RFC4871) smtp 4.70
165dkim_strict string* unset smtp 4.70
166dkim_verify_signers string* $dkim_signers main 4.70
495ae4b0 167directory string* unset appendfile
f324b55d 168directory_file string* + appendfile
495ae4b0
PH
169directory_mode octal-integer 0700 appendfile
170directory_transport string* unset redirect 4.00
7e66e54d 171disable_ipv6 boolean false main 4.61
495ae4b0 172disable_logging boolean false routers 4.11
7e66e54d 173 false transports 4.11
495ae4b0
PH
174dns_again_means_nonexist domain list unset main 1.89
175dns_check_names_pattern string + main 2.11
068aaea8
PH
176dns_csa_search_limit integer 5 main 4.60
177dns_csa_use_reverse boolean true main 4.60
495ae4b0
PH
178dns_ipv4_lookup boolean false main 3.20
179dns_qualify_single boolean true smtp
180dns_retrans time 0s main 1.60
181dns_retry integer 0 main 1.60
182dns_search_parents boolean false smtp
1f4a55da 183dns_use_dnssec integer -1 main 4.81
bdff9439 184dns_use_edns0 integer -1 main 4.76
495ae4b0
PH
185domains domain list unset routers 4.00
186driver string unset authenticators
187 unset routers 4.00
188 unset transports
189drop_cr boolean false main 4.00 became a no-op in 4.21
36a3ae5f 190dscp string unset smtp 4.81
f89d2485 191dsn_from string* + main 4.67
495ae4b0
PH
192envelope_to_add boolean false transports
193envelope_to_remove boolean true main
194environment string* unset pipe 2.95
195errors_copy string list* unset main
196errors_reply_to string unset main
197errors_to string* unset routers 4.00
198escape_string string ">From " appendfile 3.03
199 unset pipe 3.03
200exim_group string ++ main
201exim_path string ++ main
202exim_user string ++ main
203expn boolean true routers
204extra_local_interfaces string unset main 4.21
205extract_addresses_remove_arguments boolean true main 1.92
206fail_verify boolean false routers
207fail_verify_recipient boolean false routers 4.00
208fail_verify_sender boolean false routers 4.00
209fallback_hosts string list unset routers 4.00
210 unset smtp
211file string* unset appendfile
212 unset autoreply
213 unset redirect 4.00
214file_expand boolean false autoreply
215file_format string unset appendfile 3.03
216file_must_exist boolean false appendfile
217file_optional boolean false autoreply
218file_transport string* unset redirect 4.00
4608d683 219filter_prepend_home boolean true redirect 4.63
495ae4b0
PH
220final_timeout time 10m smtp
221finduser_retries integer 0 main
222forbid_blackhole boolean false redirect 4.00
23c7ff99 223forbid_exim_filter boolean false redirect 4.44
495ae4b0
PH
224forbid_fail boolean false redirect 4.00
225forbid_file boolean false redirect 4.00
226forbid_filter_existstest boolean false redirect 4.00
227forbid_filter_logwrite boolean false redirect 4.00
228forbid_filter_lookup boolean false redirect 4.00
229forbid_filter_perl boolean false redirect 4.00
230forbid_filter_readfile boolean false redirect 4.00
231forbid_filter_readsocket boolean false redirect 4.11
232forbid_filter_reply boolean false redirect 4.00
233forbid_filter_run boolean false redirect 4.00
234forbid_include boolean false redirect 4.00
235forbid_pipe boolean false redirect 4.00
23c7ff99 236forbid_sieve_filter boolean false redirect 4.44
5abeaa6e 237forbid_smtp_code boolean false redirect 4.63
495ae4b0 238freeze_exec_fail boolean false pipe 1.89
2799857c 239freeze_signal boolean false pipe 4.75
495ae4b0
PH
240freeze_tell boolean false main 4.00 replaces freeze_tell_mailmaster
241from string* unset autoreply
242gecos_name string* unset main
243gecos_pattern string unset main
244gethostbyname boolean false smtp
22380b86 245gnutls_compat_mode boolean unset main 4.70
17c76198
PP
246gnutls_require_kx string* unset main 4.67 deprecated, warns
247 string* unset smtp 4.67 deprecated, warns
248gnutls_require_mac string* unset main 4.67 deprecated, warns
249 string* unset smtp 4.67 deprecated, warns
250gnutls_require_protocols string* unset main 4.67 deprecated, warns
251 string* unset smtp 4.67 deprecated, warns
495ae4b0
PH
252group string + routers 4.00
253 unset transports 4.00 replaces local option in some transports
254header_line_maxsize integer 0 (unset) main 4.14
255header_maxsize integer 1M main 4.14
256headers string* unset autoreply
257headers_add string* unset routers 4.00
258 unset transports
259headers_charset string ++ main 4.21
260headers_only boolean false transports 2.05
261headers_remove string* unset routers 4.00
262 unset transports
263headers_rewrite string unset transports 3.20
264helo_accept_junk_hosts host list unset main 3.00
265helo_allow_chars string "" main 4.02
266helo_lookup_domains domain list unset main 4.00
267helo_data string* "$primary_hostname" smtp 3.21
268helo_try_verify_hosts host list unset main 4.00
269helo_verify_hosts host list unset main 1.73
270hide_child_in_errmsg false redirect 4.00
271hold_domains domain list unset main 1.70
272home_directory string* unset transports 4.00 replaces individual options
c456d9bb 273host_all_ignored string "defer" manualroute 4.67
495ae4b0
PH
274host_find_failed string "freeze" manualroute 4.00
275host_lookup host list unset main 3.00
276host_lookup_order string list "bydns:byaddr" main 4.30
277host_reject_connection host list unset main 4.00
278hosts string unset iplookup 4.00
279 string list* unset smtp
280hosts_avoid_esmtp host list unset smtp 4.21
c51b8e75 281hosts_avoid_pipelining host list unset smtp 4.67
495ae4b0
PH
282hosts_avoid_tls host list unset smtp 3.20
283hosts_connection_nolog host list unset main 4.43
284hosts_max_try integer 5 smtp 3.20
533244af 285hosts_max_try_hardlimit integer 50 smtp 4.50
495ae4b0
PH
286hosts_nopass_tls host list unset smtp 4.00
287hosts_override boolean false smtp 2.11
288hosts_randomize boolean false manualroute 4.00
289 false smtp 3.14
290hosts_require_auth host list unset smtp 4.00
291hosts_require_tls host list unset smtp 3.20
292hosts_treat_as_local domain list unset main 1.95
293hosts_try_auth host list unset smtp 4.00
595028e4 294ibase_servers string unset main 4.23
495ae4b0
PH
295ignore_bounce_errors_after time 0s main 4.00
296ignore_eacces boolean false redirect 4.00
297ignore_enotdir boolean false redirect 4.00
298ignore_fromline_hosts host list unset main
299ignore_fromline_local boolean false main 2.05
300ignore_status boolean false pipe
301ignore_target_hosts host list unset routers 4.00
302include_directory string unset redirect 4.00
303initgroups false routers 4.00
304interface string list unset smtp 1.70
305keep_malformed time 4d main
306keepalive boolean true smtp 2.05
307ldap_default_servers string list unset main 3.02
308ldap_version int 2 or 3 main 4.14
309local_from_check boolean true main 3.14
310local_from_prefix string unset main 3.14
311local_from_suffix string unset main 3.14
312local_interfaces string list unset main 1.60
313local_part_prefix string unset routers 4.00 replaces prefix
314local_part_prefix_optional boolean unset routers 4.00 replaces prefix_optional
315local_part_suffix string unset routers 4.00 replaces suffix
316local_part_suffix_optional boolean unset routers 4.00 replaces suffix_optional
317local_parts string list* unset routers 4.00
318local_scan_timeout time 5m main 4.03
319local_sender_retain boolean false main 4.00
320localhost_number string unset main
321lock_fcntl_timeout time 0s appendfile 3.14
322lock_flock_timeout time 0s appendfile 4.11
323lock_interval time 3s appendfile
324lock_retries integer 10 appendfile
325lockfile_mode octal-integer 0600 appendfile
326lockfile_timeout time 30m appendfile
327log string* unset autoreply
328log_as_local boolean + routers 4.00
329log_file_path string list ++ main
330log_defer_output boolean false pipe 1.89
331log_fail_output boolean false pipe 1.60
332log_output boolean false pipe 1.60
333log_selector string unset main 4.00
334log_timezone boolean false main 4.11
335lookup_open_max integer 25 main 2.05
336mailbox_filecount string* unset appendfile 4.43
337mailbox_size string* unset appendfile 4.43
338maildir_format boolean false appendfile 1.70
339maildir_retries integer 10 appendfile 1.70
340maildir_tag string* unset appendfile 1.92
76ba6b0a 341maildir_use_size_file boolean* false appendfile 4.30 expanded in 4.77
d6629cdc 342maildirfolder_create_regex string unset appendfile 4.62
495ae4b0
PH
343mailstore_format boolean false appendfile 2.00
344mailstore_prefix string* unset appendfile 2.00
345mailstore_suffix string* unset appendfile 2.00
346match_directory string* unset localuser
347max_output integer 20K pipe
348max_rcpt integer 100 smtp 1.60
349max_user_name_length integer 0 main
350mbx_format boolean false appendfile 2.10
ddea74fa 351message_body_newlines boolean false main 4.68
495ae4b0
PH
352message_body_visible integer 500 main
353message_id_header_domain string* unset main 4.11
354message_id_header_text string* unset main
355message_logs boolean true main 4.10
356message_prefix string* + appendfile 4.00 replaces prefix
357 string* unset pipe 4.00 replaces prefix
1c098beb 358message_size_limit integer 50M main
495ae4b0
PH
359 0 transports 2.05
360message_suffix string* + appendfile 4.00 replaces suffix
361 string* unset pipe 4.00 replaces suffix
362mode octal-integer 0600 appendfile
363 0600 autoreply
364mode_fail_narrower boolean true appendfile 1.70
365modemask octal-integer 022 redirect 4.00
366more boolean true routers 4.00
367move_frozen_messages boolean false main 3.09
368multi_domain boolean true smtp
369mx_domains domain list unset dnslookup 4.00
370mx_fail_domains domain list unset dnslookup 4.43
371mysql_servers string list unset main 3.03
372never_users string list unset main
373notify_comsat boolean false appendfile
374once string* unset autoreply
375once_file_size integer 0 autoreply 3.20
376once_repeat time 0s autoreply 2.95
377one_time boolean false redirect 4.00
3ecab157 378openssl_options string +no_sslv2 main 4.73 default changed in 4.80
495ae4b0
PH
379optional boolean false iplookup 4.00
380oracle_servers string unset main 4.00
381owners string list unset redirect 4.00
382owngroups string list unset redirect 4.00
383pass_on_timeout boolean false routers 4.00
384pass_router string unset routers 4.00
385path string "/usr/bin" pipe
386percent_hack_domains domain list unset main
387perl_at_start boolean false main 2.10
388perl_startup string unset main 2.10
22380b86 389permit_coredump boolean false pipe 4.73
495ae4b0
PH
390pgsql_servers string list unset main 3.14
391pid_file_path string ++ main
392pipe_as_creator boolean false pipe
393pipe_transport string* unset redirect 4.00
394pipelining_advertise_hosts host list "*" main 4.14
395port integer 0 iplookup 4.00
396 string "smtp" smtp
397preserve_message_logs boolean false main
398primary_hostname string + main
399print_topbitchars boolean false main 1.89
400process_log_path string unset main 4.21
401prod_requires_admin boolean true main 1.70
402protocol string "udp" iplookup 4.00
403 string "smtp" smtp 3.20
404public_name string unset authenticators 3.10
405qualify_domain string + main
406 string* unset redirect 4.31
407qualify_preserve_domain boolean false redirect 4.00
408qualify_recipient string + main
409qualify_single boolean true dnslookup 4.00
410query string* + iplookup 4.00
411queue_domains domain list unset main 4.00
412queue_list_requires_admin boolean true main 1.95
413queue_only boolean false main
414queue_only_file string unset main 2.05
415queue_only_load fixed-point unset main
8669f003 416queue_only_load_latch boolean true main 4.68
495ae4b0
PH
417queue_only_override boolean true main 4.21
418queue_run_in_order boolean false main 1.70
419queue_run_max integer 5 main
420queue_smtp_domains domain list unset main
421quota string* unset appendfile 1.60
422quota_directory string* unset appendfile 4.11
423quota_filecount integer 0 appendfile 2.05
424quota_is_inclusive boolean true appendfile 3.20
425quota_size_regex string unset appendfile 3.14
426quota_warn_message string* + appendfile 2.10
427quota_warn_threshold string* 0 appendfile 2.10
428rcpt_include_affixes boolean false transports 4.21
429receive_timeout time 0s main 4.00 replacing accept_timeout
430received_header_text string* + main
431received_headers_max integer 30 main
432recipient_unqualified_hosts host list unset main 4.00 replacing receiver_unqualified_hosts
433recipients_max integer 0 main 1.60
434recipients_max_reject boolean false main 1.70
435redirect_router string unset routers 4.00
436remote_max_parallel integer 1 main
437remote_sort_domains domain list unset main 4.00 replacing remote_sort
438repeat_use boolean true redirect 4.00
439reply_to string* unset autoreply 2.05
440reply_transport string* unset redirect 4.00
441require_files string list* unset routers 4.00
442reroute string* unset iplookup 4.00
443response_pattern string unset iplookup 4.00
444restrict_to_path boolean false pipe
445retry_data_expire time 7d main 3.03
446retry_include_ip_address boolean true smtp 1.92
447retry_interval_max time 24h main
448retry_use_local_part boolean + routers 4.00
449 + transports 4.00 replacing individual options
450return_fail_output boolean false pipe 1.60
451return_message boolean false autoreply
452return_output boolean false pipe
453return_path string* unset transports 2.05
454return_path_add boolean false transports
455return_path_remove boolean true main
456return_size_limit integer 100K main renamed bounce_return_size_limit in 4.23
457rewrite boolean true redirect 4.00
458rewrite_headers boolean true dnslookup 4.00
459rfc1413_hosts host list * main
8def5aaf 460rfc1413_query_timeout time 5s main
495ae4b0
PH
461router_home_directory string* unset routers 4.11
462route_data string* unset manualroute 4.00
463route_list string list unset manualroute 4.00
464same_domain_copy_routing boolean false dnslookup 4.00
465search_parents boolean false dnslookup 4.00
466self string "freeze" routers 4.00
467sender_unqualified_hosts host list unset main
468senders address list unset routers 4.00
469serialize_hosts host list unset smtp 1.60
470server_advertise_condition string* unset authenticators 4.14
b1770b6e 471server_channelbinding bool false gsasl 4.80
16ff981e 472server_condition string* unset authenticators 3.10 (plaintext) 4.64 (others)
b1770b6e
PP
473server_hostname string* "$primary_hostname" cyrus_sasl,gsasl,heimdal_gssapi (cyrus-only) 4.80 (others)
474server_keytab string* unset heimdal_gssapi 4.80
495ae4b0 475server_mail_auth_condition string* unset authenticators 3.22
b1770b6e
PP
476server_mech string public_name cyrus_sasl,gsasl 4.43 (cyrus-only) 4.80 (others)
477server_password string unset gsasl 4.80
495ae4b0 478server_prompts string* unset plaintext 3.10
b1770b6e
PP
479server_realm string unset cyrus_sasl,gsasl 4.43 (cyrus-only) 4.80 (others)
480server_scram_iter string* unset gsasl 4.80
481server_scram_salt string* unset gsasl 4.80
495ae4b0 482server_secret string* unset cram_md5 3.10
b1770b6e 483server_service string "smtp" cyrus_sasl,gsasl,heimdal_gssapi (cyrus-only) 4.80 (others)
495ae4b0
PH
484server_set_id string* unset authenticators 3.10
485shadow_condition string* unset transports
486shadow_transport string unset transports
487size_addition integer 1024 smtp 1.91
488skip_syntax_errors boolean false redirect 4.00
489smtp_accept_keepalive boolean true main
490smtp_accept_max integer 20 main
491smtp_accept_max_nonmail integer 10 main 4.11
492smtp_accept_max_nonmail_hosts host list * main 4.14
493smtp_accept_max_per_connection integer 1000 main 4.00
494smtp_accept_max_per_host integer 0 main 2.05
495smtp_accept_queue integer 0 main
496smtp_accept_queue_per_connection integer 10 main 2.03
497smtp_accept_reserve integer 0 main
498smtp_active_hostname string* unset main 4.33
499smtp_banner string* + main
500smtp_check_spool_space boolean true main 2.10
501smtp_connect_backlog integer 5 main
502smtp_enforce_sync boolean true main 4.00
503smtp_etrn_command string* unset main 1.92
504smtp_etrn_serialize boolean true main 1.89
505smtp_load_reserve fixed-point unset main
506smtp_max_synprot_errors integer 3 main 4.30
507smtp_max_unknown_commands integer 3 main 4.14
508smtp_ratelimit_hosts host list unset main 4.00
509smtp_ratelimit_mail string unset main 4.00
510smtp_ratelimit_rcpt string unset main 4.00
511smtp_receive_timeout time 5m main
512smtp_reserve_hosts host list unset main
513smtp_return_error_details boolean false main 4.11
514socket string* unset lmtp 4.11
22380b86 515spamd_address string* + main 4.50 with content scan
495ae4b0
PH
516split_spool_directory boolean false main 1.70
517spool_directory string ++ main
31480e42 518sqlite_lock_timeout time 5s main 4.53
38a0a95f 519strict_acl_vars boolean false main 4.64
495ae4b0
PH
520srv_fail_domains domain list unset dnslookup 4.43
521strip_excess_angle_brackets boolean false main
522strip_trailing_dot boolean false main
523subject string* unset autoreply
524syntax_errors_text string* unset redirect 4.00
525syntax_errors_to string unset redirect 4.00
526syslog_duplication boolean true main 4.21
527syslog_facility string unset main 4.20
528syslog_processname string "exim" main 4.20
529syslog_timestamp boolean true main 4.00
530system_filter string unset main 4.00 replacing message_filter
531system_filter_directory_transport string unset main 4.00 replacing message_filter
532system_filter_file_transport string unset main 4.00 replacing message_filter
533system_filter_group string unset main 4.00 replacing message_filter
534system_filter_pipe_transport string unset main 4.00 replacing message_filter
535system_filter_reply_transport string unset main 4.00 replacing message_filter
536system_filter_user string unset main 4.00 replacing message_filter
537tcp_nodelay boolean true main 4.23
538 true smtp 4.23
5dc43717 539tcp_wrappers_daemon_name string* ++ main 4.73
495ae4b0
PH
540temp_errors string list + pipe 1.95
541text string* unset autoreply
542timeout time 5m lmtp 3.20
543 1h pipe
544 1h queryprogram 4.00
545 5s iplookup 4.00
2e2a30b4 546timeout_defer boolean false pipe 4.51
495ae4b0
PH
547timeout_frozen_after time 0s main 3.20
548timezone string + main 3.15
549tls_advertise_hosts host list * main 3.20
550tls_certificate string* unset main 3.20
551 unset smtp 3.20
e11808ae 552tls_dh_max_bits integer 2236 main 4.80
54c90be1 553tls_dh_min_bits integer 1024 smtp 4.81
495ae4b0
PH
554tls_dhparam string* unset main 3.20
555tls_on_connect_ports string unset main 4.43
556tls_privatekey string* unset main 3.20
557 unset smtp 3.20
558tls_remember_emstp boolean false main 4.21
559tls_require_ciphers string* unset smtp 4.00 replaces tls_verify_ciphers
560 string* unset main 4.33
b1770b6e 561tls_sni string* unset main 4.80
495ae4b0
PH
562tls_tempfail_tryclear boolean true smtp 4.05
563tls_try_verify_hosts host list unset main 4.00
564tls_verify_certificates string* unset main 3.20
565 unset smtp 3.20
566tls_verify_hosts host list unset main 3.20
567to string* unset autoreply
568translate_ip_address string unset routers 4.00
569transport string* unset routers 4.00
570transport_current_directory string unset routers 4.00
571transport_home_directory string unset routers 4.00
572transport_filter string unset transports
573transport_filter_timeout time 5m transports 4.30
574trusted_groups string list unset main
575trusted_users string list unset main
576umask octal-integer 022 pipe
577unknown_login string unset main
578unknown_username string unset main
579unseen boolean false routers 4.00
580untrusted_set_sender boolean false main 3.20
581use_bsmtp boolean false appendfile 4.00
582 false pipe 4.00
583use_crlf boolean false appendfile 1.89
584 false pipe 1.89
585use_fcntl_lock boolean + appendfile 1.70
586use_flock_lock boolean + appendfile 4.11
587use_lockfile boolean + appendfile
588use_mbx_lock boolean + appendfile 2.10
589use_shell boolean false pipe 1.70
590user string + routers 4.00
591 unset transports 4.00 replaces individual options
592uucp_from_pattern string + main 1.75
593uucp_from_sender string* "$1" main 1.75
594verify boolean true routers 4.00
595verify_only boolean false routers 4.00
596verify_recipient boolean true routers 4.00
597verify_sender boolean true routers 4.00
598warn_message_file string unset main 4.00
599widen_domains string list unset dnslookup 4.00
600write_rejectlog boolean true main 4.31
601
602
603
6042. COMMAND LINE OPTIONS
605-----------------------
606
607The table below contains a complete list of all Exim's command line options.
608Those marked with # are available only to trusted users, those marked with +
609are available only to admin users, and those marked with * exist only to
610provide compatibility with Sendmail.
611
612-- Terminate options
613--help Give a little help (not a lot)
4b2241d2 614--version Give version information (alias for -bV)
495ae4b0
PH
615-B * Ignored
616-bd + Start daemon
617-bdf + Start daemon and run it in the foreground
618-be Test string expansion
328895cc 619-bem Test string expansion, read test message first
495ae4b0
PH
620-bF Test system filter file
621-bf Test user filter file
622-bfd Set domain for filter testing
623-bfl Set local part for filter testing
624-bfp Set local part prefix for filter testing
625-bfs Set local part suffix for filter testing
626-bh Test incoming SMTP call, omitting callouts
627-bhc Test incoming SMTP call, with callouts
628-bi * Run <command>bi_command</command>
54c90be1 629-bI:help Show list of accepted -bI:<tag> options
495ae4b0 630-bm Accept message on standard input
22380b86 631-bmalware + Invoke configured malware scanning against supplied filename
495ae4b0
PH
632-bnq Don't qualify addresses in locally submitted messages
633-bP Show configuration option settings
634-bp + List the queue
635-bpa + ... with generated addresses as well
636-bpc + ... but just show a count of messages
637-bpr + ... do not sort
638-bpra + ... with generated addresses, unsorted
639-bpru + ... only undelivered addresses, unsorted
640-bpu + ... only undelivered addresses
641-brt Test retry rules
642-brw Test rewriting rules
643-bS Read batch SMTP on standard input
644-bs Run SMTP on standard input and output
645-bt Test address directing and routing
646-bV Verify version number
647-bv Test recipient address verification
648-bvs Test sender address verification
9ee44efb 649-bw + Inetd wait mode
495ae4b0
PH
650-C + Use alternate configuration file
651-D + Define macro for configuration file
3d235903
PH
652-d + Turn on debugging output
653-dd + Ditto, but if a daemon, not for subprocesses
495ae4b0
PH
654-dropcr Remove CR character in input: became a no-op in 4.21
655-E Internal use only
656-ex * Synonym for -oex (for several different x)
657-F Set calling user name
658-f # Set calling user address
659-G * Ignored
660-h * Ignored
661-i Dot does not terminate message
662-M + Force deliver specific message
663-Mar + Add recipient to message
664-MC Internal use only
665-MCA Internal use only
666-MCP Internal use only
667-MCQ Internal use only
668-MCS Internal use only
669-MCT Internal use only
670-Mc + Deliver specific message
671-Mes + Edit message sender
672-Mf + Freeze message(s)
673-Mg + Give up (bounce) message(s)
674-Mmad + Mark all recipients delivered
675-Mmd + Mark one recipient delivered
676-Mrm + Remove message(s) (no bounce)
328895cc 677-Mset + Load message's variables when testing with -be
495ae4b0
PH
678-Mt + Thaw message(s)
679-Mvb + View message body
22380b86 680-Mvc + View entire message in RFC 2822 format
495ae4b0
PH
681-Mvh + View message header
682-Mvl + View message log
683-m * Ignored
684-N + Deliver without transporting
685-n * Ignored
686-O * Ignored
687-oA * Supply argument for <option>-bi</option>
688-oB Set max messages down one connection
689-odb Background delivery
690-odf Foreground delivery
691-odi Foreground delivery
692-odq Queue message; do not deliver
693-odqs ... do not do SMTP deliveries
694-oee Error sent by mail; zero return code
695-oem Error sent by mail; non-zero return code
696-oep Error written to standard error stream
697-oeq * Error written to standard error stream
698-oew * Error sent by mail; non-zero return code
699-oi Dot does not terminate message
700-oitrue * Dot does not terminate message
701-oMa # Supply host address
702-oMaa # Supply authenticator name
703-oMai # Supply authenticated id
704-oMas # Supply authenticated sender
705-oMi # Supply interface address
706-oMr # Supply protocol name
707-oMs # Supply host name
708-oMt # Supply ident string
709-om * Ignored
710-oo * Ignored
711-oP * Specify path for daemon's pid file
712-or Timeout non-SMTP messages
713-os Timeout for SMTP messages
714-ov * Verbose; same as -v
715-oX Alternative port for daemon
716-pd Delay Perl interpreter start
717-ps Do not delay Perl interpreter start
718-p<r>:<s> * Same as -oMr <r> -oMs <s>
719-q + Run the queue )
720-qf + ... force delivery ) Other combinations are
721-qff + ... and include frozen messages ) possible. The syntax is
722-qi + ... initial deliveries only )
723-ql + ... local deliveries only ) -q[q][f][f][i|l][time]
724-qq + Two-stage queue run )
725-qR * Same as -R
726-qS * Same as -S
727-R Select by recipient in queue run
728-Rf ... with forcing
729-Rff ... and frozen messages
730-Rr ... using regular expression
731-Rrf ... with forcing
732-Rrff ... and frozen messages
733-r * Synonym for -f
734-S Select by sender in queue run
735-Sf ... with forcing
736-Sff ... and frozen messages
737-Sr ... using regular expression
738-Srf ... with forcing
739-Srff ... and frozen messages
740-Tqt * Used by Exim test suite; not recognized in normal use
741-t Take recipients from header lines
742-ti * Same as -t -i
743-tls-on-connect Do TLS on startup (for legacy clients)
744-U * Ignored
745-v Verbose - shows SMTP dialogue and other delivery info
746-x Ignored (AIX compatibility)
747
748
7493. BUILD TIME OPTIONS FOR EXIM
750------------------------------
751
76ba6b0a
PP
752The table below contains a "mostly" complete list of options that can be
753set in Local/Makefile when building Exim. The only items not included are
754those whose names can be trivially derived from rules stated below.
755
756More information about individual options can be found in src/EDITME and
757OS/Makefile-Default.
495ae4b0
PH
758
759The second column below gives the type of option:
760
761 . `system' means the option is concerned with the operating system;
762
763 . `driver' means the option selects a driver to be included in the binary;
764
765 . `lookup' means the option selects a lookuptype to be included in the binary;
766
767 . `mandatory' means the option is required to be supplied;
768
769 . `recommended' means the option is recommended to be supplied;
770
771 . `optional' means what it says;
772
773Those marked with * are specialized and are unlikely to be required in most
774installations. Those that are marked with ** are commonly set in OS-specific
775Makefiles. If you use any of these in your Local/Makefile, you may need to
776reproduce some of the OS-specific settings. For example, in the Makefile for
777Solaris (which is actually called OS/Makefile-SunOS5), there is
778
779 LIBS=-lsocket -lnsl -lkstat
780
781If you use LIBS to add extra libraries, you must also include the OS ones in
782your setting. It is better, in this particular case, to use EXTRALIBS, which is
783empty by default, and is provided for just this reason. Of course, if you do
784actually want to modify a setting from the OS-specific file, there is nothing
785to stop you overriding it in your Local/Makefile.
786
76ba6b0a
PP
787When building Exim with dynamically loaded lookup support, for "LOOKUP_FOO",
788you can define "LOOKUP_FOO_INCLUDE" and "LOOKUP_FOO_LIBS", for includes and
789libraries specific only to that module. These rules are only used where the
790relevant lookup is a module. These options are not explicitly listed below.
791
792Variables with names endined `_PC' are used for pkg-config integration; setting
793the value to the name of a pkg-config package will cause Exim's build system to
794query the --cflags and --libs for the given name, when building anything
795dependent upon the component associated with the `_PC' variable. For lookups,
796if the lookup is dynamically loaded, then this *replaces* the use of the
797corresponding _INCLUDE and _LIBS options, which will be ignored. If the lookup
798is statically loaded into Exim, the results will be inserted into the
799"LOOKUP_INCLUDE" and "LOOKUP_LIBS" options. For authenticator, the results
800will be inserted into the "CFLAGS" and "AUTH_LIBS" options. These options are
801only listed below for the TLS implementation cases.
802
803
495ae4b0
PH
804Option Type Description
805------------------------------------------------------------------------------
806
807ALT_CONFIG_PREFIX optional restricts location of -C files
495ae4b0
PH
808APPENDFILE_MODE optional*
809APPENDFILE_DIRECTORY_MODE optional*
810APPENDFILE_LOCKFILE_MODE optional*
811AR system command to build a library
812AUTH_CRAM_MD5 driver include cram_md5 authenticator
068aaea8 813AUTH_CYRUS_SASL driver include Cyrus SASL authenticator
76ba6b0a
PP
814AUTH_GSASL driver include GNU SASL authenticator
815AUTH_HEIMDAL_GSSAPI driver include Heimdal GSSAPI authenticator
816AUTH_LIBS system library linkage for authenticators
495ae4b0
PH
817AUTH_PLAINTEXT driver include plaintext authenticator
818AUTH_SPA driver include SPA (NTLM) authenticator
f78eb7c6 819AUTH_VARS=3 optional* number of $auth variables
495ae4b0
PH
820BASENAME_COMMAND system** path to basename
821BASE_62=62 optional* not normally changed for Unix
822BIN_DIRECTORY mandatory Exim binary directory
823CC system** C compiler
824CFLAGS system** flags for C compiler
35110e70 825CFLAGS_DYNAMIC system** extra flags needed for .so modules
495ae4b0
PH
826CHGRP_COMMAND system** path to chgrp
827CHOWN_COMMAND system** path to chown
828COMPRESS_COMMAND system path to a compress command
829COMPRESS_SUFFIX system suffix added to compressed files
830CONFIGURE_FILE mandatory Exim runtime configuration file
831CONFIGURE_FILE_USE_EUID optional*
832CONFIGURE_FILE_USE_NODE optional*
35edf2ff 833CONFIGURE_GROUP optional* alternate group for configuration file
495ae4b0
PH
834CONFIGURE_OWNER optional* alternate owner for configuration file
835CYRUS_PWCHECK_SOCKET optional socket for pwcheck daemon
836DBMLIB optional** location of DBM library
837DB_DIRECTORY_MODE optional* mode for hints directory
838DB_LOCKFILE_MODE optional* mode for hints lock files
839DB_LOCK_TIMEOUT optional* timeout for hints lock files
840DB_MODE optional* mode for hints files
96c065cb 841DEFAULT_CRYPT optional default crypt() function
495ae4b0
PH
842DELIVER_IN_BUFFER_SIZE optional*
843DELIVER_OUT_BUFFER_SIZE optional*
22380b86 844DISABLE_DKIM optional disables DKIM support
1f4a55da 845DISABLE_DNSSEC optional disables attempts to use DNSSEC
495ae4b0
PH
846DISABLE_D_OPTION optional disables -D option
847ERRNO_QUOTA optional* error code for system quota failures
848EXICYCLOG_MAX optional number of old log files to keep
849EXIMDB_DIRECTORY_MODE optional* for hints database directory
850EXIMDB_LOCKFILE_MODE optional* for hints lock files
851EXIMDB_MODE optional* mode for hints files
852EXIMON_TEXTPOP system**
853EXIM_CHMOD optional*
854EXIM_GROUP mandatory group to use for Exim
855EXIM_MONITOR optional set to eximon.bin to compile
856EXIM_PERL optional
857EXIM_USER mandatory user to use for Exim
858EXIWHAT_EGREP_ARG system** to find Exim processes from ps
859EXIWHAT_KILL_SIGNAL system** -SIGUSER1 or numerical equivalent
860EXIWHAT_MULTIKILL_CMD system**
861EXIWHAT_MULTIKILL_ARG system**
862EXIWHAT_PS_ARG system** to list all processes
863EXIWHAT_PS_CMD system** path to ps command
39257585 864EXPAND_LISTMATCH_RHS optional* restore pre-4.77 match_*{}{} behaviour
495ae4b0
PH
865EXTRALIBS system additional libraries
866EXTRALIBS_EXIM system additional libraries for Exim only
867EXTRALIBS_EXIMON system additional libraries for the monitor
868FIXED_NEVER_USERS optional can't override at runtime
869HAVE_ICONV system the iconv() function is available
870HAVE_IPV6 system include IPv6 support
871HEADERS_CHARSET optional charset for decoded header lines
872HEADER_ADD_BUFFER_SIZE optional* buffer for header_add()
873HEADER_MAXSIZE optional* max memory for message header
874HOSTNAME_COMMAND system** path to hostname command
875INCLUDE system path to include files
876INFO_DIRECTORY optional directory for Info documentation
877INPUT_DIRECTORY_MODE optional mode for input directory
878IPV6_INCLUDE system additional includes for IPv6
879IPV6_LIBS system additional libraries for IPv6
880LDAP_LIB_TYPE optional type of LDAP library
881LFLAGS system** link editor flags
882LIBIDENTCFLAGS system C flags when compiling libident
883LIBIDENTNAME system name for libident library
884LIBRESOLV system** library for DNS resolver
885LIBS system** additional libraries
886LIBS_EXIM system** additional libraries for Exim ony
887LIBS_EXIMON system** additional libraries for monitor
888LOCAL_SCAN_SOURCE optional location of local_scan() source
889LOG_DIRECTORY_MODE optional mode for log directory
890LOG_FILE_PATH optional path to log files
891LOG_MODE optional mode for log files
892LOOKUP_CDB lookup include cdb lookup
893LOOKUP_DBM lookup include dbm lookup
894LOOKUP_DNSDB lookup include dnsdb lookup
895LOOKUP_DSEARCH lookup include dsearch lookup
896LOOKUP_INCLUDE lookup include files for lookups
897LOOKUP_LDAP lookup include ldap lookup
898LOOKUP_LIBS lookup include libraries for lookups
899LOOKUP_LSEARCH lookup include all lsearch lookups
35110e70 900LOOKUP_MODULE_DIR optional* where dynamic lookup modules live
495ae4b0
PH
901LOOKUP_MYSQL lookup include mysql lookup
902LOOKUP_NIS lookup include nis lookup
903LOOKUP_NISPLUS lookup include nisplus lookup
904LOOKUP_ORACLE lookup include oracle lookup
905LOOKUP_PGSQL lookup include pgsql lookup
906LOOKUP_TESTDB lookup*
907LOOKUP_WHOSON lookup include whoson lookup
35110e70
PP
908LOOKUP_*_INCLUDE optional* include files for dynamic module
909LOOKUP_*_LIBS optional* libraries for dynamic module
495ae4b0
PH
910MAKE_SHELL optional* shell to use for make
911MAX_FILTER_SIZE optional* max file size for filter files
912MAX_INCLUDE_SIZE optional* max file size for :include: files
913MAX_LOCALHOST_NUMBER=256 optional* for when localhost_number is set
914MAX_NAMED_LIST optional* max named lists of a given type
915MAX_INTERFACES system maximum network interfaces
916MSGLOG_DIRECTORY_MODE optional* mode for message log directory
917MV_COMMAND system path to mv command
918NO_SYMLINK optional install doesn't make 'exim" symlink
6a6084f8
PP
919PCRE_CONFIG system* use pcre-config for PCRE support
920PCRE_LIBS system* library for using PCRE
495ae4b0
PH
921PERL_CC system* compiler for Perl interface code
922PERL_CCOPTS system* flags for same
923PERL_COMMAND system path to Perl
924PERL_LIBS system* library for compiling Perl interface
925PID_FILE_PATH optional path to daemon's pid file
926RADIUS_CONFIG_FILE optional path to Radius config file
927RADIUS_LIB_TYPE optional type of RADIUS library
928RANLIB system** path to ranlib command
929RM_COMMAND system path to rm command
930ROUTER_ACCEPT driver include accept router
931ROUTER_DNSLOOKUP driver include dnslookup router
932ROUTER_MANUALROUTE driver include manualroute router
933ROUTER_IPLITERAL driver include ipliteral router
934ROUTER_IPLOOKUP driver include iplookup router
935ROUTER_REDIRECT driver include redirect router
936ROUTER_QUERYPROGRAM driver include queryprogram router
937SPOOL_DIRECTORY recommended path to spool directory
938SPOOL_DIRECTORY_MODE optional mode of spool directory
939SPOOL_MODE optional mode of spool files
940STRING_SPRINTF_BUFFER_SIZE optional* buffer for string_sprintf()
941STRIP_COMMAND optional* can be used to strp binaries
942SUPPORT_A6 optional* support A6 DNS records
943SUPPORT_CRYPTEQ optional support crypteq (if no auths)
944SUPPORT_MAILDIR optional support for maildir delivery
945SUPPORT_MAILSTORE optional support for mailstore delivery
946SUPPORT_MBX optional support for MBX delivery
947SUPPORT_MOVE_FROZEN_MESSAGES optional* support for frozen message moving
948SUPPORT_PAM optional support for PAM authentication
949SUPPORT_TLS optional support for TLS encryption over SMTP
950SUPPORT_TRANSLATE_IP_ADDRESS optional* support for address translation
951SYSLOG_LOG_PID optional add pid to syslog lines
952SYSLOG_LONG_LINES optional do not split long syslog lines
953SYSTEM_ALIASES_FILE optional defaults to /etc/aliases
35110e70 954TCP_WRAPPERS_DAEMON_NAME system* daemon name used by tcpwrappers library
495ae4b0
PH
955TIMEZONE_DEFAULT optional default for timezone option
956TLS_INCLUDE optional path to include files for TLS
957TLS_LIBS optional additional libraries for TLS
958TMPDIR system value for TMPDIR environment variable
959TRANSPORT_APPENDFILE driver include appendfile transport
960TRANSPORT_AUTOREPLY driver include autoreply transport
961TRANSPORT_LMTP driver include lmtp transport
962TRANSPORT_PIPE driver include pipe transport
963TRANSPORT_SMTP driver include smtp transport
35110e70 964TRUSTED_CONFIG_LIST optional config files safe to retain privileges
495ae4b0
PH
965USE_DB system** use native DB interface
966USE_GNUTLS optional use GnuTLS instead of OpenSSL
76ba6b0a
PP
967USE_GNUTLS_PC optional probably "gnutls"
968USE_OPENSSL_PC optional probably "openssl"
495ae4b0
PH
969USE_READLINE optional try to load libreadline for -be
970USE_TCP_WRAPPERS system link with tcpwrappers
971USE_TDB optional use the tdb DB interface
35110e70 972WHITELIST_D_MACROS optional -Dmacros safe to retain privileges with
22380b86 973WITH_OLD_CLAMAV_STREAM optional* use ClamAV API from before ClamAV 0.95
495ae4b0
PH
974X11 system** X11 base directory
975X11_LD_LIB system** X11 link library
976XINCLUDE system** X11 include directory
977XLFLAGS system** X11 link time flags
978ZCAT_COMMAND system path to zcat command
979
980
9814. BUILD TIME OPTIONS FOR EXIMON
982--------------------------------
983
984The table below contains a complete list of options that can be set in
985Local/eximon.conf when building the Exim monitor. Where the default is shown as
986** it means that the text string is too long to fit in the table and is instead
987given below. A blank default means that there is no default value.
988
989ACTION_OUTPUT=no show output for every action
990ACTION_QUEUE_UPDATE=yes update queue display after actions
991BODY_MAX=20000 maximum body display
992DOMAIN= domain to strip from window title
993LOG_BUFFER=20K buffer for log tail
994LOG_DEPTH=300 depth of log subwindow
995LOG_FONT=** font for log display
996LOG_STRIPCHARTS=** patterns for stripcharts
997LOG_WIDTH=950 width of log subwindow
998MENU_EVENT='Shift<Btn1Down>' keypress for menu
999MIN_HEIGHT=162 minimum window height
1000MIN_WIDTH=103 minimum window width
1001QUALIFY_DOMAIN= local domain to strip from addresses
1002QUEUE_DEPTH=200 depth of queue subwindow
1003QUEUE_FONT=$LOG_FONT font for queue display
1004QUEUE_INTERVAL=300 queue refresh interval
1005QUEUE_MAX_ADDRESSES=10 max addresses to show in queue
1006QUEUE_STRIPCHART_NAME=queue name for queue stripchart
1007QUEUE_WIDTH=950 width of queue subwindow
1008SIZE_STRIPCHART= request partition size stripchart
1009SIZE_STRIPCHART_NAME=space name for size stripchart
1010START_SMALL=no if yes, start with small window
1011STRIPCHART_INTERVAL=60 stripchart refresh interval
1012TEXT_DEPTH=200 depth of text windows
1013WINDOW_TITLE="${hostname} eximon" window title
1014
1015The default for LOG_FONT is
1016
1017 LOG_FONT=-misc-fixed-medium-r-normal-*-14-140-*-*-*-*-iso8859-1
1018
1019and the default for LOG_STRIPCHARTS is
1020
1021 LOG_STRIPCHARTS='/ <= /in/
1022 / => /out/
1023 / => .+ R=local/local/
1024 / => .+ T=[^ ]*smtp/smtp/'
1025
1026That is, there are four stripcharts, named in, out, local, and smtp. The first
1027counts message arrivals, the second counts all deliveries, the third counts
1028deliveries where the router's name starts with "local", and the fourth counts
1029deliveries where the transport name contains "smtp".
1030
1031**** End of OptionLists ****