Wir möchten dSPAM nutzen, um unser Spam-Problem in den Griff zu bekommen. Sinnvoll sind für das Lernen von “Spam” oder “Ham” jeweils eine zentrale e-Mail-Adresse, der die Signatur übermittelt wird. Notwendig ist hierbei jedoch der Einsatz einer Datenbank (postgres oder mysql und die Option UIDInSignature), damit die Signatur dem korrekten User zugeordnet werden kann.
router - order does matter
dspam_addspam_router_global:
debug_print = "R: catch_all_spam_router"
driver = accept
condition = "${if eq {$local_part}{spam} {1}{0}}"
transport = dspam_addspam_global
dspam_falsepos_router_global:
debug_print = "R: catch_all_falsepos_router"
driver = accept
condition = "${if eq {$local_part}{nospam} {1}{0}}"
transport = dspam_falsepositive_global
dspam_addspam_router:
debug_print = "R: dspam_addspam_router"
driver = accept
local_part_prefix = spam-
transport = dspam_addspam
dspam_falsepositive_router:
debug_print = "R: dspam_falsepositive_router"
driver = accept
local_part_prefix = nospam-
transport = dspam_falsepositive
dspam_router:
debug_print = "R: dspam_router"
no_verify
condition = "${if and { \
{!def:h_X-FILTER-DSPAM:} \
{ <= {$message_size}{512k}} \
}\
{1}{0}}"
headers_add = "X-FILTER-DSPAM: by $primary_hostname on $tod_full"
driver = accept
transport = dspam_spamcheck
transport - order does not matter
dspam_addspam_global:
debug_print = "T: dspam_addspam_global ${lc:$local_part} -f $sender_address -bm %u"
driver = pipe
command = "/usr/bin/dspam --class=spam --source=error --user globaluser"
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_global:
debug_print = "T: dspam_falsepos_global ${lc:$local_part} -f $sender_address -bm %u"
driver = pipe
command = "/usr/bin/dspam --class=innocent --source=error --deliver=innocent,spam --user globaluser "
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_spamcheck:
debug_print = "T: dspam_spamcheck ${lc:$local_part} -f $sender_address -bm %u"
driver = pipe
command = "/usr/bin/dspam --deliver=innocent --user \
${lc:$local_part}@${lc:$domain} -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:
debug_print = "T: dspam_addspam ${lc:$local_part} -f $sender_address -bm %u"
driver = pipe
command = "/usr/bin/dspam --class=spam --source=error --user \
${lc:$local_part}@${lc:$domain} -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:
debug_print = "T: dspam_falsepos ${lc:$local_part} -f $sender_address -bm %u"
driver = pipe
command = "/usr/bin/dspam --class=innocent --source=error \
--deliver=innocent,spam --user ${lc:$local_part}@${lc:$domain} \
-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 =