Вот так расположены роутеры:
Код: Выделить всё
begin routers
dspam_addspam:
driver = accept
expn = false
domains = +local_domains
local_parts = spam
transport = addspam
headers_add = "X-DSPAM-REPORT: Missclassified"
dspam_nospam:
driver = accept
expn = false
domains = +local_domains
local_parts = ham:nospam
transport = nospam
headers_add = "X-DSPAM-REPORT: Falsepositive"
#Этот роутер нужен для того, чтобы exim видел smarthost для домена Lotus Notes
smarthost_routes:
driver = manualroute
transport = remote_smtp
route_data = ${lookup{$domain}partial-lsearch{/etc/exim4/smarthosts}}
dnslookup:
driver = dnslookup
domains = ! +local_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more
system_aliases:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT `goto` FROM `alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}}
spamscan_router:
no_verify
headers_remove = X-FILTER-SPAM : X-Spam-Score : X-Spam-Score-Gate : X-Spam-Report : X-Spam-Gate-Subject : X-Spam-Flag : X-S
condition = "${if and {{!eq{$received_protocol}{spam-scanned}} {!def:h_X-FILTER-SPAM:}} {1}{0}}"
driver = accept
headers_add = X-FILTER-SPAM: ICF Team Spam Filter on $primary_hostname, $tod_full\n\
X-SENDER-INFO: ${if def:authenticated_id {ID - ${authenticated_id},}} \
${if def:authenticated_sender {authenticated_sender - ${authenticated_sender},}} \
${if def:sender_ident {rfc1413(ident) - ${sender_ident},}} \
${if def:originator_uid {UID - ${originator_uid},}} \
${if def:originator_gid {GID - ${originator_gid}}}
local_parts = !addham:!addspam:!ham:!spam:!sexy
transport = spamcheck_transport
require_files = /var/spool/dspam:/usr/bin/dspam
local_delivery_spam_router:
driver = accept
domains = +local_domains
condition = ${if match{$h_X-DSPAM-Result:}{Spam}}
transport = local_delivery_spam_transport
no_more
#Смс через веб.
move_router:
driver = redirect
no_verify
data = "${if eq{$acl_m1}{1}{ewsmsc@mydomain.ru}{$local_part@$domain}}"
#Смотрим, пересылать или нет почту на Lotus Notes
userforward:
driver = redirect
allow_fail
allow_defer
data = ${lookup mysql{SELECT userfwd FROM exim.mailbox \
WHERE (username='${quote_mysql:$local_part@$domain}' AND domain='${domain}')}}
dovecot_user:
driver = accept
condition = ${lookup mysql{SELECT `goto` FROM \
`alias` WHERE \
`address`='${quote_mysql:$local_part@$domain}' OR \
`address`='${quote_mysql:@$domain}'}{yes}{no}}
transport = dovecot_delivery
Код: Выделить всё
begin transports
local_delivery_spam_transport:
driver = pipe
command = /usr/lib/dovecot/deliver -d spam@mydomain.ru
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
spamcheck_transport:
driver = pipe
command = "/usr/sbin/exim4 -oi -oMr spam-scanned -bS"
transport_filter = /usr/bin/dspam --stdout --deliver=innocent \
--user $local_part@$domain --mail-from "${lc:$sender_address}" \
--rcpt-to "${lc:$local_part}@${lc:$domain}"
user = Debian-exim
group = mail
use_bsmtp = true
home_directory = "/var/spool/dspam"
current_directory = "/var/spool/dspam"
delivery_date_add = true
return_path_add = true
envelope_to_add = true
log_fail_output = true
log_defer_output = true
return_fail_output = true
message_prefix = ""
message_suffix = ""
temp_errors = *
addspam:
driver = pipe
command = /usr/bin/dspam --user "${lc:$sender_address}" --class=spam --source=error
return_path_add = false
return_fail_output = true
log_output = true
home_directory = "/var/spool/dspam"
current_directory = "/var/spool/dspam"
user = Debian-exim
group = mail
message_prefix = ""
message_suffix = ""
nospam:
driver = pipe
command = /usr/bin/dspam --user "${lc:$sender_address}" --class=innocent --source=error --deliver=innocent %u
return_path_add = false
return_fail_output = true
log_output = true
home_directory = "/var/spool/dspam"
current_directory = "/var/spool/dspam"
user = Debian-exim
group = mail
message_prefix = ""
message_suffix = ""
remote_smtp:
driver = smtp
dovecot_delivery:
driver = pipe
command = /usr/lib/dovecot/deliver -d $local_part@$domain
message_prefix =
message_suffix =
delivery_date_add
envelope_to_add
return_path_add
log_output
user = Debian-exim
address_pipe:
driver = pipe
return_output
address_reply:
driver = autoreply