So after much effort, sweat, searching, looking at people's configs and
studying the exim4 and dspam documentation, I'm afraid I still don't have a
working router.
I haven't been able to figure out if the router is barfing on something, or
simply not getting called. Mail gets delivered by exim, without any mention
or reference to dspam anywhere in the logs nor headers of the delivered
email.
My (current attempt) router:
[EMAIL PROTECTED]:/etc/exim4/conf.d/router# cat 620_exim4-config_dspam
dspam_router:
no_verify
check_local_user
# When to scan a message :
# - it isn't already flagged as spam from DSPAM
# - it isn't already scanned
# - it isn't local
# - it isn't from one internal domain user to another
# - it is less than 2m in size
#condition = "${if and { {!def:h_X-FILTER-DSPAM:} {!eq {local}} {
<= {2048k}} } {1}{0}}"
#condition = "${if and { {!def:h_X-FILTER-DSPAM:} { <= {2048k}} }
{1}{0}}"
condition = "${if and { {!eq {$received_protocol}{spam-scanned}}
{!eq {$received_protocol}{local}} { <= {$message_size}{512k}} } {1}{0}}"
headers_add = "X-FILTER-DSPAM: by $primary_hostname on $tod_full"
driver = accept
transport = dspam_spamcheck
dspam_addspam_router:
driver = accept
local_part_prefix = spam-
transport = dspam_addspam
dspam_falsepositive_router:
driver = accept
local_part_prefix = nospam-
transport = dspam_falsepositive
My (current attempt) transport:
[EMAIL PROTECTED]:/etc/exim4/conf.d/transport# cat 40_exim4-config_dspam
dspam_spamcheck:
driver = pipe
command = "/usr/bin/dspam --deliver=innocent --user
${lc:$local_part} -f '$sender_address' -bm %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = Debian-exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
dspam_addspam:
driver = pipe
command = "/usr/bin/dspam --class=spam --source=error --user
${lc:$local_part} -f '$sender_address' -bm %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = Debian-exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
dspam_falsepositive:
driver = pipe
command = "/usr/bin/dspam --class=innocent --source=error
--deliver=innocent,spam --user ${lc:$local_part}
-f '$sender_address' -bm %u"
home_directory = "/tmp"
current_directory = "/tmp"
user = Debian-exim
group = mail
log_output = true
return_fail_output = true
return_path_add = false
message_prefix =
message_suffix =
When I deliver email, I see in the log:
2007-10-10 14:43:44 1IfiPA-0003NW-Rj <= EMAIL-REMOVED
<[EMAIL PROTECTED]>H=(mathilda) [
207.245.58.40] P=esmtpa A=login_saslauthd_server:paul S=1355
[EMAIL PROTECTED]
2007-10-10 14:43:44 1IfiPA-0003NW-Rj => paul <EMAIL-REMOVED> R=procmail
T=procmail_pipe
2007-10-10 14:43:44 1IfiPA-0003NW-Rj Completed
In other words, it appears dspam isn't even being called.....
Any thoughts on where to look?
regards,
Paul