Understanding exim configuration files

Here's the easy guide to understand Debian's exim config:

  1. conf.d has the configuration snippets, separated by config area. The variables in caps are normally defined on the first part (called base, if my memory serves me).
  2. the exim4.conf.template is generated by concatenating all the snippets at install time, so the basic configuration is the same.
  3. the config file used by the daemon is created on a different directory based on one of the above templates.
  4. Each time you use update-exim4.conf it generates a new config file, based on what you answered when the package configuration asked about split configuration.

If you use the split configuration, you have to use files at conf.d to manage exim, otherwise use the exim4.conf.template.

I suggest you use the conf.d scheme, after you get used to it its easier to manage and add/remove stuff. Read all the files in all dirs and compare it to the running config file (/var/lib/exim4/config.autogenerated but comments are striped so re-run update-exim4.conf --keepcomments, or you can use exim -bP to see the running config too) and you will get it real easy.

Most of the times you will not need any special configuration, so just use dpkg-reconfigureexim4-config` and answer the questions.


This is Debian/Ubuntu's way of managing Exim4. You'll need to limit yourself to using the dpkg-reconfigure exim4-config utility and it's config file, update-exim4.conf.conf to manage it, or, just blow it all away and manage it all yourself. Check out:

http://pkg-exim4.alioth.debian.org/README/README.Debian.html#completely-different-configuration