ACPI administration advocacy advocacy advocacy opinion alsa amarok apache apple apt aptitude audio audo authentication automount avi awk bash BIOS boot business cache calendar calibre cdr cdrecord censorship commandline computerscience console convert cron cut database date debian degree design desktop development disk dpkg dvd economics education emacs email europe exim faad ffmpeg file files firefox firewall flash foss freedom ftp fun fuse git gnumeric graphics grep growisofs grub gtkpod hardware hardware html idiocy image imagemagick images installation ip iphone ipod iptables iso itunes ivman kde kernel keyboard knoppix lame laptop latex linux locale lockin longlines m4a microsoft mimetypes minitab mount mp3 mp4 mplayer multimedia music mysql network nfs nfs4 nmap openbox openoffice opinion opinion partition pdf perl php politics postgresql printing privacy programming rant remote rhythmbox rss rsync rxvt scp screengrab screenshot script scripting scsi security sed server shell siteadmin sitenews sitesoftware skype skype slackware sound sox spam spreadsheet ssh statistics subversion sudo svk swap t23 t43 terminal text thinkpad thunderbird time timezone ubuntu udev upgrade usb usbmount users uuid versioncontrol vfat video vnc windows wine wordpress wordprocessing X40 xwindows xwindows youtube
Using spamassassin with exim4 is a little different from exim3. This is because of the use of sa-exim a neat tool that plugs straight into exim and checks spam in one go. sa-exim is so easy to use that there is not much to write about it. It does however have one major disadvantage: it doesn't allow the use of user preferences such as black and white lists and Bayesian scoring.
That's why sometimes it's better to use the more heavyweight method. To do this these must be added in the transport section put this:
spamcheck: driver = pipe command = /usr/sbin/exim4 -oMr spam-scanned -bS transport_filter = /usr/bin/spamc -s60000 -u$local_part use_bsmtp = true home_directory = "/tmp" current_directory = "/tmp" user = mail group = mail return_path_add = false log_output = true return_fail_output = true message_prefix = message_suffix =
In the router section put:
spamcheck_director:
no_verify
check_local_user
condition = "${if and { {!def:h_X-Spam-Flag:} {!eq {$received_protocol}{spam-scanned}} {!eq {$received_protocol}{local}} }{1}{0}}"
driver = accept
transport = spamcheck
Later I'll a description of what these actually do.