Understanding exim configuration files on Debian/Ubuntu
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:
Here's the easy guide to understand Debian's exim config:
conf.dhas 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).
exim4.conf.templateis generated by concatenating all the snippets at install time, so the basic configuration is the same.
- the config file used by the daemon is created on a different directory based on one of the above templates.
- Each time you use
update-exim4.confit 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
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.
Those are not really exim configuration files those are part of the debian configuration system that is used to generate the actually exim configuration file.
Related videos on Youtube
bobobobo 10 days
I want to understand what's going on with this Exim configuration directory.
In /etc/exim4, there's:
* exim4.conf.template * update-exim4.conf.conf * conf.d
The conf.d has a mess of directories and files, and inside each are a bunch of if statements which I find really different.
maildir_home: debug_print = "T: maildir_home for [email protected]$domain" driver = appendfile .ifdef MAILDIR_HOME_MAILDIR_LOCATION directory = MAILDIR_HOME_MAILDIR_LOCATION .else directory = $home/Maildir .endif .ifdef MAILDIR_HOME_CREATE_DIRECTORY create_directory .endif .ifdef MAILDIR_HOME_CREATE_FILE
My question is,
-where do the CAPS VARIABLES get defined?
- how can I change them?
- why are there so many if statements in these configuration files?
coredump almost 12 yearsUsing a completely different configuration is not advised. It can break on updates and packages that automatically add stuff to the
conf.ddirectory to configure exim will not work.
Phil P almost 12 yearsThis is mostly FUD. Exim has very strong backwards compatibility for configurations and won't break on updates. You only lose the automated support for other packages to insert mail-handling. You gain a configuration which doesn't have a pre-processor and config files used for building a config file. General statements "X is not advised" should be perhaps be reserved for where there is little disagreement.