Попробывал Ваш совет, но не получилось. Письма проходят получателю не попадая в ящик спам. Может там порядок транспортов важен или нет???
А то я нашел где-то такую конструкцию
Код: Выделить всё
spam_router:
driver = accept
check_local_user
condition = ${if !eq {$h_X-SA-Do-Not-Rej:}{Yes} {1}{0}}
transport = spam_transport
cannot_route_message = Unknown user
spam_transport:
driver = appendfile
file = /usr/home/spamuser/mail/spam
delivery_date_add
envelope_to_add
return_path_add
group = mail
user = spamuser
mode = 0660
no_mode_fail_narrower
Так вот если spam_transport поставить перед local_delivery то все попадает на ящик spam, если после то проходит как небывало.
А если чесно то что-то SpamAssassin ресурсов подбирает под себя много. Вот читаю ветки по SpamAssassin на этом форуме, пишут мол читай статьи по Exim все будет гуд, не прорвется спам. Но шото у мня при этих правилах, все равно много спама, режится может 10% спама, а его за сутки приходит писем 200.
Вот заодно приведу и кусочек конфига с ексима, может глянете скажете что может добавить нада
Код: Выделить всё
############################ == PART 3 == ############################################
# ACL for entire mail
begin acl
# This rules are work for all
acl_check_rcpt:
# Allow mail from localhost not for TCP/IP
accept hosts = :
# Check for incorrect symbols in address @; %; !; /; |.
# If `percent_hack_domains` enabled than % should be removed
# Check local domains
deny message = "Incorrect symbol in address"
domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
# Check not local domains
deny message = "Incorrect symbol in address"
domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
# Accept mail for local-domain postmasters
accept local_parts = postmaster
domains = +local_domains
# Sender address verification
#require verify = sender
# Deny all (HELO/EHLO)
deny message = "Where your HELO/EHLO?! Gona read RFC..."
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
# Allow all from auth users
accept authenticated = *
# Deny from all who send it's IP in HELO
deny message = "Your IP in HELO??? Hmm... I think you're spammer!"
hosts = * : !+relay_from_hosts : !10.0.0.0/24
condition = ${if eq{$sender_helo_name}\
{$sender_host_address}{true}{false}}
# Deny from all who send our IP in HELO
deny condition = ${if eq{$sender_helo_name}\
{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "My IP in YOUR HELO??? Hmm... I think you're spammer!"
# Deny from all who send name "mail.mymailserver.com" in HELO
deny condition = ${if eq{$sender_helo_name}{$primary_hostname}{yes}{no}}
hosts = !127.0.0.1 : !localhost :!82.207.108.254 : *
message = "My hostname in YOUR HELO??? Hmm... I think you're spammer!"
# Deny from all who send just numeric HELO
deny condition = ${if match{$sender_helo_name}\
{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Your HELO containts only number! Gona read RFC..."
# Deny from all who didn't send sender address
# deny condition = ${if eq{$sender_address}{}{yes}{no}}
# hosts = !127.0.0.1 : !localhost : *
# message = "Where sender of this mail?! Gona read RFC..."
# Deny from all who didn't send sender address (Space)
deny condition = ${if match{$sender_address}{\N^\s+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
message = "Where _RIGHT_ sender of this mail?! Gona read RFC..."
# Deny all wrong hosts (ADSL, PPP, Dynamic IP's, etc...)
deny message = "Your hostname is bad to send email (adsl, poll, ppp & etc). You should use provider's SMTP server."
condition = ${if match{$sender_host_name} \
{adsl|dialup|dial-up|pool|peer|dhcp|pppoe|dynamic} \
{yes}{no}}
# DELAY
warn
# Default delay
set acl_m0 = 20s
warn
# For friendly hosts delay 0s
hosts = +relay_from_hosts:10.0.0.0/24
set acl_m0 = 0s
warn
# Delay logging
logwrite = Delay $acl_m0 for $sender_host_name \
[$sender_host_address] with HELO=$sender_helo_name. Mail \
from $sender_address to $local_part@$domain.
delay = $acl_m0
# Check recipient in local domains
# If not match go to other ACL
accept domains = +local_domains
endpass
message = "User unknown!"
verify = recipient
# Check recipient in relayed domains
# If not match go to other ACL
#accept domains = +relay_to_domains
#endpass
#message = "Mail server not know how relay to this address"
#verify = recipient
# Use public blacklist's databases
deny message = "Your IP is in blacklist. See $dnslist_domain \n $dnslist_text"
hosts = !127.0.0.1 : !localhost : !10.0.0.0/24 : *
dnslists = dnsbl.ahbl.org : \
cbl.abuseat.org : \
sbl.csma.biz : \
ubl.unsubscore.com : \
zen.spamhaus.org : \
db.wpbl.info : \
dynablock.njabl.org : \
dnsbl.njabl.org : \
list.dsbl.org : \
# Allow mail from relay_from_hosts list
accept hosts = +relay_from_hosts
# !!!ALL OTHER DENY!!!
deny message = Relaying Denied!
# ACL for mail body
acl_check_data:
#warn message = X-SA-Do-Not-Rej: Yes
# local_parts = spam
deny malware = *
message = "In e-mail found VIRUS - $malware_name"
# Deny China messages
deny message = "Hm... China Spam??? Gona Hell!"
condition = ${if match{$message_body} \
{105[-_]*51[-_]*86|778[-_]*98[-_]*94} \
{yes}{no}}
# Other allow
accept