Archive for the 'Exim' Category

Exim: Previous (cached) callout verification failure

Wednesday, April 25th, 2007

When testing routing behavior in Exim, remember to flush the callout cache. If an address callout has failed, that failure will be cached to speed up routing should another email arrive for that address. This is normally a good thing, but a pain if you’re testing configs because you’ll keep getting the address rejected even if you’ve fixed the routing problem.

rejected RCPT <joe@bloggs.com>: Previous (cached) callout verification failure

There are two solutions.

The first is to turn off callout caching using the no_cache option in exim.conf. eg:

verify = recipient/callout=no_cache

or you can flush the callout cache. Simply -HUPing or restarting exim won’t do. You need to delete the cache manually:


cd /var/spool/exim/db
mv callout callout.deleted  # or just delete it

Exim 4.66 *blink* released

Wednesday, January 10th, 2007

The versions are coming thick and fast. Seems I’m not the only one who was busily working through the holidays. This time its listed on the the exim site. A few bugfixes from 4.64 & 4.65.

I’m up to my elbows in various projects at the moment, rebuilding my MTAs being one of them. I’m converting my old sendmail/postfix MTAs to exim and separating out the functions onto different Xen virtual machines. Where possible, for maintainability, I like to stick with pre-rolled Debian packages unless I have a reason not to do so. Exim is one case where I like to roll my own.

Much of the exim config is best built into the binary at compile time. One example is logging. Exim needs to know where to write logs before it reads its config (in case it needs to log the fact that it can’t read its config). If you want to log to a non-standard location (or use syslog), then you need to tell exim at compile time. You will also need to compile from source if you want to specify which user exim runs as or if you want to compile out unused transports and lookups for security/performance reasons.

Fortunately, exim is pretty easy to put together, and local makefiles are mostly transferable from one version to the next so its easy to maintain your own package. I run three separate daemons for the external mail exchanger (mx), local delivery (mailstore) and outgoing smtp. Building and maintaining these is straightforward - I’ll be putting a how-to up on this site in the next week or so.

Exim 4.64 Released

Thursday, December 28th, 2006

Philip Hazel announced a new release of Exim a week ago:

The Exim website still says 4.63 is the current version, but the mirrors seem to have 4.64 in stock.

I’ll get busy building a deb package for Xen/Debian Etch.