exim -bp -- sendmail -q

Debugging

exim -bP -- print all main configuration options.

exim -bt addr -- test a single address (@domain part is optional)

Test an entire message:

exim -v postmaster@your.domain.example
From: user@your.domain.example
To: postmaster@your.domain.example
Subject: Testing Exim

This is a test message.
^D

exim -d -M <exim-message-id> -- unstick a message from the spool with debugging turned on so you can get a better idea of what's going wrong. -d-all+route will restrict the debugging to only routing messages.

Drivers

Drivers are the code modules that make up the exim system. There are two types of drivers:

TODO: Information moves through the system as address/message pairs. i.e. each router operates on a single address, and that address is associated with a single message. Is there a name for this single address/message tuple?

Router

Handle addresses. Your system will set up a linear list of routers. Each address is passed to each router in turn. Routers can decide whether to:

  • accept: give the address/message to a particular transport or generate other addresses which are then routed from the beginning.
  • pass: send the address/message to a specific router. This can be used to skip processing steps for some messages.
  • decline: this router doesn't recognize the address. The address/message is passed to the next router in the list. (can also decline with no_more, which skips the rest of the routers and fails the message. TODO: why not just fail it outright?)
  • fail: generates a bounce message and stops processing (unless unseen is set, in which case the bounce is generated and processing continues with the next router)
  • defer: a temporary error has prevented this router from working (database offline, etc). Processing stops and the message is queued and tried again later.
  • error: a more permanent error has prevented this router from working (syntax error in config file, etc). Same as defer.

When routing is complete, exim removes duplicate results (unless you're testing routers with -bt, in which case all routes are shown).

Transport

Actually moves the message data.

Links

http://david.woodhou.se/eximconf/include/acl-greylist-sqlite http://www.devco.net/archives/2006/03/24/saving_copies_of_all_email_using_exim.php