Directadmin by default uses Exim, however the DNSDB lookup module is not available. DNSDB allows Exim to perform DNS lookups as part of mail processing. I am using it to lookup SPF records of incoming mail.
Currently there is no way to add it, or enable it – not even using custombuild. If you want it you must compile Exim from source. Here is the procedure I used on a Debian box to get it activated.
First, ensure you have the dependencies for exim.
apt-get install libdb4.8-dev libperl-dev libsasl2-dev
Change all occurrences of 4.80.1 to the version you want to use.
wget http://files.directadmin.com/services/custombuild/exim-4.80.1.tar.gz tar xvzf exim-4.80.1.tar.gz cd exim-4.80.1/Local wget http://www.directadmin.com/Makefile perl -pi -e 's/^EXTRALIBS/#EXTRALIBS/' Makefile perl -pi -e 's/HAVE_ICONV=yes/HAVE_ICONV=no/' Makefile perl -pi -e 's/^#LOOKUP_DNSDB=yes/LOOKUP_DNSDB=yes/' Makefile cd .. make make install
The above commands will download the unmodified source for exim, extract it, download a makefile from the directadmin servers, use a perl command to adjust the makefile, compile and install the fresh exim build.
The file that is created is /usr/sbin/exim-4.80.1-1, so we must change the name and overwrite the existing exim file.
/etc/init.d/exim stop cp -f /usr/sbin/exim-4.80.1-1 /usr/sbin/exim chmod 4755 /usr/sbin/exim /etc/init.d/exim start
To verify you have a working Exim with DNSDB compiled in do the following:
exim -bV
You should get an output from Exim, look for the line that lists the built-in lookups and confirm that dnsdb is listed (as seen in the image below).