Next: Integration Method 3
Up: Scanning
Previous: Explanation
  Contents
Since version 4.00, exim includes an interface designed specifically to
integratn an external program to make policy decisions. This interface is
called ``local_scan''. Marc Merlin maintains sa-exim, an implementation
of the local_scan API which uses Spamassassin as the decision mechanism.
sa-exim has many advantages over the technique detailed in Integration
Method 1 above :
- each message is handled by exim only once
- there is less overhead to scanning (because each message is
handled only once)
- tracking a message in the logs is easier (because each message
is handled only once)
- statistical reporting (eg by eximstats) won't be grossly skewed
(because each message is handled only once)
- spam messages can be rejected during the SMTP session -- this
maintains the reliability built in to the SMTP protocol while
at the same time relieving your system of the burden of
undeliverable bounces or delivering the spam to the user
For more details on sa-exim, installation instructions and source code see
Marc's site: http://marc.merlins.org/linux/exim/sa.html.
(A note for Debian users: the (recent) exim4 package includes the
``dlopen'' patch Marc also maintains. The dlopen patch is a local_scan
implementation that uses the dlopen(3) system call to dynamically load a
separately compiled local_scan function from a .so. This eliminates the
need to recompile exim when you want to change/upgrade the local_scan
implementation.)
I recommend using sa-exim instead of the methods described earlier in this
document.
Next: Integration Method 3
Up: Scanning
Previous: Explanation
  Contents
Derrick 'dman' Hudson
2003-11-06