Debugging Exim

This note assumes that you are logged in as root

verify delivery

check if your mail is 'frozen'

mailq

Frozen email is a indication of a persistant error during the delivery of the email.

check the logs

The next step is to inspect the logfiles:

  • /var/log/syslog (for errors in other system parts)
  • /var/log/exim/mainlog (to see the problems exim is having)
  • /var/log/exim/rejectlog
  • /var/log/exim/paniclog

diagnosing file permission problems

If you suspect file permission problems in a faulty exim4 installation, you can use the following to provide more insight in which files exim uses, and where the errors occur.

Please remember that not all errors are fatal errors, sometimes the non-existance of a file is just a way to influcence the programs behaviour.

date | strace -efile -f -o out exim4 -odf the.problematic@email.address

After this the 'out' file contains all the relevant system calls.

As a alternative, with emails still in the mailq, you could also do

strace -efile -f -o out exim4 -qff 

You should look for "

 = -1 EACCES (Permission denied)
" in the 'out' file.

produce more debug output

If this is not enough, you could try:

date | strace -s 1024 -f -o out exim4 -odf -v the.problematic@email.address

diagnosing routers, transports and authenticators

date | exim4 -odf -v the.problematic@email.address