html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,code,del,dfn,em,img,q,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}body{font-size:62.5%;font-family:Verdana,Arial,Helvetica,Sans-Serif}h1,h2,h3,h4,h5,h6{font-family:serif;line-height:1.7;font-weight:bold}h1{font-size:3.0em;text-align:center}h2{font-size:2.2em;text-align:center}h3{font-size:1.7em}h4{font-size:1.5em}h5{font-size:1.3em}h6{font-size:1.1em}@media all and (max-width:640px){h1{font-size:2.4em}h2{font-size:1.4em}h3{font-size:1.25em}h4{font-size:1.2em}h5{font-size:1.15em}h6{font-size:1.1em}}a{color:#037094}a:visited{color:#335024}a:hover,a:visited:hover{color:#000}html,body{height:100%;background-color:#fff}.hidden{display:none}#inner ul,#inner ol{padding:0 0 1em 4em}#inner p,#inner pre{margin-bottom:1em}#inner pre{font-family:monospace;white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}#content{padding:0 1em}@media all and (max-width:640px){#content{padding:0}}#header{position:absolute;top:0;left:0;height:2em;width:100%;line-height:2;background-color:#000;z-index:1000;background-color:#1f3c5a;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#032044',endColorstr='#1f3c5a');background:-webkit-gradient(linear,left top,left bottom,from(#032044),to(#1f3c5a));background:-moz-linear-gradient(top,#032044,#1f3c5a)}@media all and (max-width:640px){#header{height:2.5em;line-height:2.5}}body > #header.fixed{position:fixed}#header a{color:#fff;white-space:nowrap}#header a:hover{color:#aaf}#header,.nav{opacity:0.925}#outer{position:absolute;top:0;left:0;width:100%;min-height:100%;height:auto !important;height:100%;background-color:#fff}#outer .left_bar,#outer .right_bar{display:none}#outer > .left_bar.display,#outer > .right_bar.display{display:block;position:absolute;top:0;width:10%;height:100%;background-color:#ddd}#outer > .left_bar{left:0}#outer > .right_bar{right:0}@media all and (max-width:640px){#outer > .left_bar.display,#outer > .right_bar.display{display:none}}.nav{position:relative;top:0;left:0;margin-top:6em;padding:0 0 0.5em 0;width:100%;text-align:center;list-style:none;background-color:#1f3c5a;z-index:1000}.nav li{display:inline;font-size:1.2em;padding:0 0.3em}.nav li a{color:#fff}.nav li a:hover{color:#aaf}.nav li a:visited{color:#aaf}.nav li a:visited:hover{color:#fff}#outer > #nav_float{position:fixed;top:0;left:0;width:100%;display:none;margin-top:0}.nav li.search,.nav form{display:inline;padding-top:4px}.nav .search_field_container.roundit .search_field{border:0;padding:0;margin:0}.nav .search_field_container.roundit{background-color:#fff;-moz-border-radius:1em;-webkit-border-radius:1em;padding:0.1em 1em;font-size:1.2em}.nav .search_field_container{cursor:text}#inner{z-index:1000;width:80%;min-width:50%;max-width:65em;padding:0.71429em 0 1.42857em 0;margin:0 auto;font-size:1.4em;line-height:2;background-color:#fff}@media all and (max-width:640px){#inner{width:auto}}#branding{display:block;visibility:hidden;width:80%;margin:-1.42857em auto 1.42857em auto;overflow:hidden;border:0;outline:0}#footer{position:absolute;bottom:0;left:0;height:1.4em;width:100%;z-index:1000;line-height:1.4;text-align:center;text-align:center}#footer,#footer a{color:#999}#footer:hover,#footer:hover a{color:#444}#footer a:hover{color:#000}.docbook_filename,.docbook_emphasis,.docbook_function{font-style:italic}.docbook_option,.docbook_command{font-weight:bold}.docbook_literal{font-family:monospace}.docbook_literallayout{background-color:#e8e8d0}.docbook_literallayout pre{padding:1em;margin-bottom:1em}(function($){var $nav_float=$('#nav_flow').clone().attr('id','nav_float').appendTo('#outer');var floating=false;$(window).bind('load resize scroll',function(){var header_height=$('#header').height();var top=$(this).scrollTop();if(top>header_height){if(!floating){$nav_float.show();$('#nav_flow').css('visibility','hidden');floating=true;}}else{if(floating){$nav_float.hide();$('#nav_flow').css('visibility','visible');floating=false;}}});$('#outer > .right_bar, #outer > .left_bar').addClass('display');})(jQuery);if(document.location.href.match(/^https?:\/\/([^\/]+\.)*exim\.org\//)){$('#branding').remove();}else{$('#branding').ready(function(){try{var doc=$('#branding')[0].contentWindow.document;if(doc.title.match(/\b(found|404)\b/i)){$('#branding').remove();}else{$(doc).find('a').each(function(){if($(this).attr('title')=='')$(this).attr('title','Sponsor of this mirror');$(this).css('opacity',0.8).mouseover(function(){$(this).css('opacity',1)}).mouseout(function(){$(this).css('opacity',0.8)});});$('#branding').height($(doc).find('img').height()?$(doc).find('img').height()+16+'px':'auto').hide().css('visibility','visible').fadeIn(2000);}}catch(e){$('#branding').remove();}});} (function(){$('#footer').hide();setTimeout(function(){$('#footer').fadeIn('slow')},2000);})();(function(){if(!('placeholder' in document.createElement('input')))$('.nav li.search input.search_field').focus(function(e){if($(this).val()===' '+$(this).attr('placeholder'))$(this).val('').css('color','#000');}).blur(function(e){if($(this).val()===' '+$(this).attr('placeholder')||$(this).val()==='')$(this).css('color','#666').val(' '+$(this).attr('placeholder'));}).blur();if(document.body.style.MozBorderRadius!==undefined)$('.search_field_container').addClass('roundit').click(function(){$(this).find('input').focus()});})();(function($){var jump=function(id){if($('#'+id).length==0)return false;document.location.href=document.location.href.replace(/#.+/,'')+'#'+id;$('html,body').animate({scrollTop:$('#'+id).position()['top']-$('.nav').height()-5},100);return true;};var uri=document.location.pathname;var uri_end=uri.replace(/^.*\//,'');if(document.location.href.match(/#./))jump(document.location.href.replace(/^.*#(.+)$/,'$1'));$('a').live('click',function(e){var href=$(this).attr('href');if(!href.match(/^.*#.+$/))return true;var href_uri=href Exim 4.10 Specification chapter 13 Previous   Next   Contents       (Exim 4.10 Specification)

13. Main configuration

The first part of the run time configuration file contains three types of item:

This chapter lists all the main configuration options, along with their types and default values, in alphabetical order.


accept_8bitmime

Type:  boolean
Default:  false

This option causes Exim to send 8BITMIME in its response to an SMTP EHLO command, and to accept the BODY= parameter on MAIL commands. However, though Exim is 8-bit clean, it is not a protocol converter, and it takes no steps to do anything special with messages received by this route. Consequently, this option is turned off by default.


acl_smtp_auth

Type:  string, expanded
Default:  unset

This option defines the ACL that is run when an SMTP AUTH command is received. See chapter 37 for further details.


acl_smtp_data

Type:  string, expanded
Default:  unset

This option defines the ACL that is run after an SMTP DATA command has been processed and the message itself has been received, but before the final acknowledgement is sent. See chapter 37 for further details.


acl_smtp_etrn

Type:  string, expanded
Default:  unset

This option defines the ACL that is run when an SMTP ETRN command is received. See chapter 37 for further details.


acl_smtp_expn

Type:  string, expanded
Default:  unset

This option defines the ACL that is run when an SMTP EXPN command is received. See chapter 37 for further details.


acl_smtp_rcpt

Type:  string, expanded
Default:  unset

This option defines the ACL that is run when an SMTP RCPT command is received. See chapter 37 for further details.


acl_smtp_vrfy

Type:  string, expanded
Default:  unset

This option defines the ACL that is run when an SMTP VRFY command is received. See chapter 37 for further details.


admin_groups

Type:  string
Default:  unset

If the current group or any of the supplementary groups of the caller is in this colon-separated list, the caller has admin privileges. If all your system programmers are in a specific group, for example, you can give them all Exim admin privileges by putting that group in admin_groups. However, this does not permit them to read Exim's spool files (whose group owner is the Exim gid). To permit this, you have to add individuals to the Exim group.


allow_domain_literals

Type:  boolean
Default:  false

If this option is set, the RFC 2822 domain literal format is permitted in email addresses. The option is not set by default, because the domain literal format is not normally required these days, and few people know about it. It has, however, been exploited by mail abusers.

Unfortunately, it seems that some DNS black list maintainers are using this format to report black listing to postmasters. If you want to accept messages addressed to your hosts by IP address, you need to set allow_domain_literals true, and also to add @[] to the list of local domains (defined in the named domain list local_domains in the default configuration). This ``magic string'' matches the domain literal form of all the local host's IP addresses.


allow_mx_to_ip

Type:  boolean
Default:  false

It appears that more and more DNS zone administrators are breaking the rules and putting domain names that look like IP addresses on the right hand side of MX records. Exim follows the rules and rejects this, giving an error message that explains the mis-configuration. However, some other MTAs support this practice, so to avoid ``Why can''t Exim do this?' complaints, allow_mx_to_ip exists, in order to enable this heinous activity. It is not recommended, except when you have no other choice.


auth_advertise_hosts

Type:  host list, expanded
Default:  *

If any server authentication mechanisms are configured, Exim advertises them in response to an EHLO command only if the calling host matches this list. Otherwise, Exim does not advertise AUTH, though it is always prepared to accept it.

Certain mail clients (for example, Netscape) require the user to provide a name and password for authentication if AUTH is advertised, even though it may not be needed (the host may accept messages from hosts on its local LAN without authentication, for example). The auth_advertise_hosts option can be used to make these clients more friendly by excluding them from the set of hosts to which Exim advertises AUTH.

If you want to advertise the availability of AUTH only when the the connection is encrypted using TLS, you can make use of the fact that the value of this option is expanded, with a setting like this:

  auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}

If $tls_cipher is empty, the session is not encrypted, and the result of the expansion is empty, thus matching no hosts. Otherwise, the result of the expansion is *, which matches all hosts.


auto_thaw

Type:  time
Default:  0s

If this option is set to a time greater than zero, a queue runner will try a new delivery attempt on any frozen message if this much time has passed since it was frozen. This may result in the message being re-frozen if nothing has changed since the last attempt. It is a way of saying ``keep on trying, even though there are big problems''. See also timeout_frozen_after and ignore_bounce_errors_after.


bi_command

Type:  string
Default:  unset

This option supplies the name of a command that is run when Exim is called with the -bi option (see chapter 5). The string value is just the command name, it is not a complete command line. If an argument is required, it must come from the -oA command line option.


bounce_message_file

Type:  string
Default:  unset

This option defines a template file containing paragraphs of text to be used for constructing bounce messages. Details of the file's contents are given in chapter 40. See also warn_message_file.


bounce_message_text

Type:  string
Default:  unset

When this option is set, its contents are included in the default bounce message immediately after ``This message was created automatically by mail delivery software.'' It is not used if bounce_message_file is set.


bounce_return_message

Type:  boolean
Default:  true

If this option is set false, the original message is not included in bounce messages generated by Exim. See also return_size_limit.


bounce_sender_authentication

Type:  string
Default:  unset

This option provides an authenticated sender address that is sent with any bounce messages generated by Exim that are sent over an authenticated SMTP connection. A typical setting might be:

  bounce_sender_authentication = mailer-daemon@my.domain.example

which would cause bounce messages to be sent using the SMTP command:

  MAIL FROM:<> AUTH=mailer-daemon@my.domain.example

The value of bounce_sender_authentication must always be a complete email address.


check_log_inodes

Type:  integer
Default:  0

See check_spool_space below.


check_log_space

Type:  integer
Default:  0

See check_spool_space below.


check_spool_inodes

Type:  integer
Default:  0

See check_spool_space below.


check_spool_space

Type:  integer
Default:  0

The four check_... options allow for checking of disc resources before a message is accepted: check_spool_space and check_spool_inodes check the spool partition if either value is greater than zero, for example:

  check_spool_space = 10M
  check_spool_inodes = 100

The spool partition is the one which contains the directory defined by SPOOL_DIRECTORY in Local/Makefile. It is used for holding messages in transit.

check_log_space and check_log_ Exim 4.10 Specification Concepts

Concepts

 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X


$header_
$value  [2]  [3]
*@
+caseful
+defer_unknown
+exclude_unknown
+include_unknown  [2]
/dev/null
8-bit characters  [2]  [3]
8BITMIME
@ in a domain list
@ in a host list
@[] in a domain list
@[] in a host list
@mx_any
@mx_primary
@mx_secondary

A
abandoning mail  [2]
accept router
ACL: condition processing
ACL: conditions, definition of
ACL: description
ACL: format
ACL: indirect
ACL: modifier processing
ACL: modifiers, definition of
ACL: nested
ACL: options for specifying
ACL: relay control
ACL: setting up for SMTP commands
ACL: specifying
ACL: unset
ACL: verbs, definition of
ACL: verifying header syntax
ACL: verifying HELO/EHLO
ACL: verifying host reverse lookup
ACL: verifying recipient
ACL: verifying sender  [2]
adding drivers
additional groups  [2]
address list: case forcing
address list: empty item
address list: in a rewriting pattern
address list: patterns
address rewriting
address: constructed
address: copying routing  [2]
address: duplicated
address: qualification
address: rewriting  [2]
address: sender
address: source-routed
address: testing  [2]
address: verification
admin user  [2]  [3]  [4]  [5]  [6]  [7]  [8]
admin user, definition of
alias file: backslash in
alias file: broken
alias file: building  [2]
alias file: exception to default
alias file: in a redirect router
alias file: one-time expansion
alias file: ownership
alias file: per-domain default
alias for host
alternate configuration file
``and'' expansion condition
angle brackets, excess
appendfile transport
appending to a file
architecture type
asterisk after IP address
Athena
AUTH: ACL for
AUTH: advertising
AUTH: advertising when encrypted
AUTH: argument
AUTH: configuration  [2]
AUTH: how it works
AUTH: in plaintext authenticator
AUTH: logging
AUTH: on bounce message
AUTH: on MAIL command  [2]  [3]
AUTH: testing
AUTH: with PAM
authentication:  [2]  [3]
authentication: ACL checking
authentication: advertising
authentication: bounce message
authentication: client
authentication: generic options
authentication: id
authentication: logging
authentication: sender  [2]  [3]
authentication: server
authentication: testing
authenticator name
auto_thaw
autoreply transport  [2]

B
background delivery
backlog of connections
backslash in alias file
bang paths:
bang paths: rewriting
banner for SMTP
base36
base62  [2]  [3]  [4]
batch_id
batch_max
batched local delivery
batched SMTP input  [2]
batched SMTP output  [2]
Bcc: header  [2]
Berkeley DB:
Berkeley DB: file format
BIN_DIRECTORY
bind IP address  [2]
black hole
black list (DNS)  [2]  [3]
body of message: definition of
body of message: expansion variable  [2]
body of message: line count
body of message: size
body of message: transporting
body of message: visible size
bounce message:
bounce message: copy to other address
bounce message: customizing  [2]
bounce message: definition of
bounce message: discarding
bounce message: failure to deliver
bounce message: generating
bounce message: including original
bounce message: sender authentication
bounce message: size limit
broken alias or forward files
bug reports
build directory
building DBM files
building Exim

C
C header files
caching lookup data
callout timeout
callout verification
carriage return  [2]  [3]  [4]  [5]  [6]
case forcing in address lists
case forcing in strings  [2]
case of local parts  [2]  [3]  [4]
cc compiler
Cc: header
cdb  [2]  [3]
certificate:
certificate: verifying  [2]
character code
checking access
checking disc space  [2]
CIDR notation  [2]
cipher, logging  [2]
command line options
common option syntax
compiler name
configuration file: alternate
configuration file: common option syntax
configuration file: editing
configuration file: errors
configuration file: format
configuration file: including other files
configuration file: macros
configuration file: ownership
configuration options
configuration: default
configuration: main
configuration: pre-building
configuration: retry
configuration: run time  [2]
CONFIGURE_FILE  [2]  [3]
connection backlog
constructed address
control of incoming mail
copy of bounce message
copy of message (unseen option)
Courier
CR  [2]  [3]  [4]  [5]  [6]
cram_md5 authenticator
creating directories
current directory
customizing: ACL condition
customizing: ACL failure message
customizing: batching condition
customizing: bounce message  [2]
customizing: failure message
customizing: input scan using C function
customizing: pre-condition
customizing: Received: header
customizing: SMTP banner
customizing: warning message  [2]
cycling logs  [2]
The Exim FAQ

The Exim FAQ

This is the FAQ for the Exim Mail Transfer Agent. Many thanks to the many people who provided the original information. This file would be amazingly cluttered if I tried to list them all. Suggestions for corrections, improvements, and additions are always welcome.

This version of the FAQ applies to Exim 4.00 and later releases. It has been extensively revised, and material that was relevant only to earlier releases has been removed. As this caused some whole sections to disappear, I've taken the opportunity to re-arrange the sections and renumber everything except the configuration samples.

References of the form Cnnn, Fnnn, and Lnnn are to the sample configuration, filter, and local_scan() files. These are hyperlinked from the HTML version of this FAQ. They can also be found in the separately distributed directory called config.samples. The primary location is

ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4/config.samples.tar.bz2

There are brief descriptions of these files at the end of this document.

Philip Hazel <ph10@cus.cam.ac.uk>
Last update: 13-May-2003


Index

A Keyword-in-context index to the questions is available. This is usually the quickest way to find information in the FAQ.

Contents

The FAQ is divided into the following sections:

      0. General debugging         15. UUCP
      1. Building and installing         16. Modifying message bodies
      2. Routing in general         17. Encryption (TLS/SSL)
      3. Routing to remote hosts         20. Millennium
      4. Routing for local delivery         50. Miscellaneous
      5. Filtering         91. Mac OS X
      6. Delivery         92. Freebsd
      7. Policy controls         93. HP-UX
      8. Rewriting addresses         94. BSDI
      9. Headers         95. IRIX
      10. Performance         96. Linux
      11. Majordomo         97. Sun systems
      12. Fetchmail         98. Configuration cookbook
      13. Perl         99. List of sample configurations
      14. Dial-up and ISDN



List of questions

0. GENERAL DEBUGGING