Страница 1 из 1
sa-exim переслать другому пользователю
Добавлено: 2008-10-17 16:48:35
Nick_mad
Здравствуйте.
Ситуация вот такая: я установил sa-exim он метит письмо как спам и при желании можна настроить что бы он спам отбрасывал а копии писем сохранял в у себя в папках, но одно письмо один файл. Я хотел бы что бы спам не убивался а пересылался на почтовый ящик напр
spam@domen.ua
To avoid rejecting messages to postmaster@/abuse@, you should add the following ACL part to Exim's RCPT ACL (in the Exim config file), somewhere near the top:
warn message = X-SA-Do-Not-Rej: Yes
local_parts = postmaster:abuse
This will add a header “X-SA-Do-Not-Rej: Yes” to any messages addressed to postmaster@/abuse@, and then (according to the default SA-Exim config), suppress rejection of spam to these addresses. Messages that are classed as spam will still receive the spam headers, however, which is a good compromise – the mail can still be filtered into a separate folder in your (or your users') mail client, but in the event that it's actually a genuine mail (typically an abuse complaint), you will have the opportunity to review this folder and read it.
ну добавил я
warn message = X-SA-Do-Not-Rej: Yes
local_parts = spam
а в логи получаю
temporarily rejected after DATA: cannot test local_parts condition in DATA ACL
что делать подскажите, как поправить ситуацию????
Re: sa-exim переслать другому пользователю
Добавлено: 2008-10-17 16:58:29
Nick_mad
разместил вопрос и только заметил что надабыло не там размещать где я разместил это правило.
Нада в RCPT ACL. Теперь спам просто проходит как и проходил без этого правила
Re: sa-exim переслать другому пользователю
Добавлено: 2008-10-23 8:00:35
kolya_r
я в роутерах написал следующее:
Код: Выделить всё
spam_aliases
no_verify
driver = redirect
condition = ${if >{$spam_score_int}{30}{1}{0}}
data = spam@mydomen.ru
$spam_score_int это количество очков спама умноженное на 10
Re: sa-exim переслать другому пользователю
Добавлено: 2008-10-29 18:30:58
Nick_mad
Попробывал Ваш совет, но не получилось. Письма проходят получателю не попадая в ящик спам. Может там порядок транспортов важен или нет???
А то я нашел где-то такую конструкцию
Код: Выделить всё
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
Re: sa-exim переслать другому пользователю
Добавлено: 2008-10-29 23:31:55
kolya_r
1 это был не транспорт а роутер и порядок важен у меня он на первом месте стоит
2 SpamAssassin у меня не жрет ресурсов вообще (50 ящиков 1000 сам писем в день) машинка vmware server 1xeon 2gg 512ram
Re: sa-exim переслать другому пользователю
Добавлено: 2008-11-05 21:10:47
Nick_mad
Поставил первым в роутерах
Код: Выделить всё
spam_aliases:
no_verify
driver = redirect
condition = ${if >{$spam_score_int}{50}{1}{0}}
data = spam@mydomen.ru
И все равно не хочет идти на спамовский ящик а идет пользователю с пометкой спам. Я компилировал exim с with_sa_exim=yes. Может нет у меня переменной spam_score_int???
Re: sa-exim переслать другому пользователю
Добавлено: 2008-11-08 13:42:59
kolya_r
Nick_mad писал(а):Поставил первым в роутерах
Код: Выделить всё
spam_aliases:
no_verify
driver = redirect
condition = ${if >{$spam_score_int}{50}{1}{0}}
data = spam@mydomen.ru
И все равно не хочет идти на спамовский ящик а идет пользователю с пометкой спам. Я компилировал exim с with_sa_exim=yes. Может нет у меня переменной spam_score_int???
Приду на работу и скину вам свой конфиг в понедельник, у меня там много косяков в виде кривых алиасов но все работает
а че ругаеться на spam_score_int ???? странно, рекомендую еще покурить доку на
http://exim.org и на
http://spamassassin.apache.org/ еще есть аффффигенный сайтик
http://www.exim-new-users.co.uk/ там куча доков и примеров