Exim started generating error message in /var/log/exim_mainlog after update.
ACL: ratelimit database not available
The cause for this issue is exim cache database might be corrupted. To fix this error the exim cache database on the server needs to be remove(Exim rebuilds this database again after exim restart)
To fix this run the following command as root to remove the cache database.
rm -fv /var/spool/exim/db/*
Then restart the exim :
Exim Message Reception and Delivery log files
Exim writes three different logs, referred to as the main log, the reject log, and the panic log.
/var/log/exim_mainlog ( Linux )
/var/log/exim/mainlog (FreeBSD)
The main log records the arrival of each message and each delivery in a single line in each case. The format is as compact as possible, in an attempt to keep down the size of log files. Two-character flag sequences make it easy to pick out these lines. A number of other events are recorded in the main log. Some of them are optional, in which case the log_selector option controls whether they are included or not. A Perl script called eximstats, which does simple analysis of main log files, is provided in the Exim distribution.
The above log files receives an entry every time a message is received or delivered.
Rejections based on ACLs/Policies: Receives an entry every time a message is rejected based on either ACLs or other policies (for example, aliases configured to :fail:)
/var/log/exim_rejectlog ( Linux )
/var/log/exim/rejectlog (FreeBSD)
The reject log records information from messages that are rejected as a result of a configuration option (that is, for policy reasons).
Finding Exim Unexpected or Fatal Errors
The below log file receives all entries exim doesn’t know how to handle. It’s generally a really bad thing when log entries are being written here, and they should be thoroughly investigated.
/var/log/exim_paniclog ( Linux )
/var/log/exim/paniclog (FreeBSD)
When certain serious errors occur, Exim writes entries to its panic log. If the error is sufficiently disastrous, Exim bombs out after-wards. Panic log entries are usually written to the main log as well, but can get lost amid the mass of other entries. The panic log should be empty under normal circumstances. It is therefore a good idea to check it (or to have a cron script check it) regularly, in order to become aware of any problems.
Reference:
General Information and Configuration for Exim Logs:
http://exim.org/exim-html-current/doc/html/spec_html/ch49.html
How to enable realtime blocklists (RBLs) with exim
To enable RBL blocking, as root, run the following:
cd /etc/virtual
rm -f use_rbl_domains
ln -s domains use_rbl_domains
This will setup the list of domains to be filtered to match the active domains list, so new domains added to the server are also included for the spammer IP blocking.
The RBLs will connect out to remote servers for each email, check to see if the sending IP is a spammer, and prevent that email from arriving. These lists are regularly updated, so they are highly effective.
Note that some lists also block entire ISP IP ranges, so if your clients are not able to send email, then can switch to sending email through port 587 instead of port 25.
or to disable RBLs, you can do the followig:
cd /etc/virtual
rm -f use_rbl_domains
touch use_rbl_domains
Source : http://directadmin.com/
Get exim to listen on another port other than 25
Some ISP’s are now blocking outgoing port 25 which prevents user from using smtp via their server. The workaround is to get exim to listen on another port other than 25 to bypass the ISP’s block.
For example, to get exim to listen on both port 25 and port 587, you’d add the following code to the very top of the /etc/exim.conf file:
daemon_smtp_ports = 25 : 587
Once saved, restart exim:
Redhat:
/sbin/service exim restart
FreeBSD:
/usr/local/etc/rc.d/exim restart
More: http://www.exim.org/exim-html-4.40/doc/html/spec_13.html#SECT13.5