CentOS with Exim + DBMail

by: Aleksi@artichost.net


This needs quite a lot, first of all, CentOS package of Exim is missing MySQL support, there is no DBMail package, no pam-mysql package etc.

Most of the stuff needs to be compiled from source, i compiled pam-mysql from a SRPM, and for Exim + DBMail i took the tarballs. This is not very fast process to do, so please take your time. (I spent over a week just browsing thru docs etc.)

This is not done yet, i will complete this upon transferring the config to another server to make sure everything is correct. A lot of this is based on the Debian Exim + DBMail howto, thanks for creating it! This wouldn't been possible without that guide!

THIS IS STILL A STUB AND MISSING MOST OF THE NEEDED INFORMATION! Currently i do have one working system with this setup, but there really isn't a proper way to traceback all of my actions, and i do need to transfer this configuration to another server very soon (within couple days at max, probably today 06/01/2006), when i will fullfill all the information needed to here


These are the packages you should install using YUM at first: (assuming you have minimalistic installation)

mysql mysql-devel mysqlclient exim exim-sa db4 db4-devel



First, grab the tarball from exim.org copy src/EDITME to Local/Makefile and make adjustments:

Enable MySQL, Auth Plaintext & MD5 atleast.

modify these attributes to something similar:

LOOKUP_INCLUDE=-I /usr/include -I /usr/include/mysql
LOOKUP_LIBS=-L/usr/lib/mysql -L/usr/lib -llber -lmysqlclient

Otherwise it won't find them. I didn't have LDAP, SQLITE3 etc. so i erased them, less options the better!

Exim Monitor didn't work, lot's of errors and really didn't need it so i commented it out.

TLS_LIBS=-lssl -lcrypto


Compiling From Source & Installing

This is very easy and straightforward procedure:

tar -zxvf dbmail-2.0.7.tar.gz
cd dbmail-2.0.7
./configure --with-mysql
make install
cp dbmail.conf /etc

Note that it does NOT belong to /etc/dbmail/ but to /etc/

Database + Settings

Very straightforward actually, this is directly from the INSTALL file, i used phpmyadmin to assist me:

mysqladmin create dbmail -u root -p
mysql -u root -p
GRANT ALL ON dbmail.* to dbmail@localhost identified by '<pass>';
mysql -u dbmail dbmail -p < sql/mysql/create_tables_innoDB.mysql

something along those lines atleast. now open the the config file, /etc/dbmail.conf

settings as follows, or something along these lines:

#sqlport = 

as you can see, i showed with # signs which lines to comment out :)

then test it with:

dbmail-util -av

and you should see something similar:

Opening connection to database...
Opening connection to authentication...
Ok. Connected.

Checking DBMAIL messageblocks integrity...
Ok. Found [0] unconnected messageblks.
--- checking block integrity took 0 seconds
--- checking block integrity took 0 seconds

Checking DBMAIL message integrity...
Ok. Found [0] unconnected messages.
--- checking message integrity took 0 seconds
--- checking message integrity took 0 seconds

Checking DBMAIL mailbox integrity...
Ok. Found [0] unconnected mailboxes.
--- checking mailbox integrity took 0 seconds
--- checking mailbox integrity took 0 seconds

Checking DBMAIL for NULL messages...
Ok. Found [0] NULL messages.
--- checking NULL messages took 0 seconds

Checking DBMAIL for NULL physmessages...
Ok. Found [0] physmessages without messageblocks.
--- checking NULL physmessages took 0 seconds

Checking DBMAIL for incorrect is_header flags...
Ok. Found [0] incorrect is_header flags.
--- checking is_header flags took 0 seconds

Counting messages with PURGE status...
Ok. Found [0] messages with PURGE status.

Counting messages with DELETE status...
Ok. Found [0] messages with DELETE status.

Vacuum and optimize not performed.

Maintenance done. No errors found.
centos/exim4.txt · Last modified: 2012/02/27 21:24 by bas
DBMail is developed by Paul J Stevens together with developers world-wide