Страница 1 из 1
помогите с fakereject и exim
Добавлено: 2008-01-26 15:28:47
kotz
Здравствуйте!
Подскажите пожалуйста пример правила по использованию fakereject
хотелось бы для некоторых адресов, делать эмуляцию reject - это может быть домен, пользователь, либо часть адреса, например:
*@domain.com
user@*
*user*
итд
нашел такое правило:
deny hosts = ...
!senders = *@my.domain.example
message = Invalid sender from client host
как можно переделать этот пример на fakereject и главное в какое место конфига его вставлять?
пытался сам делать чрез if и проверки на содержание, так после этих экспериментов exim вообще перестает принимать и отсылать письма, кроме как локальным пользователям
заранее огромное спасибо!
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 21:15:48
Alex Keda
http://www.lissyara.su/?id=1239#fakereject
поиск по сайту даёт лишь одну ссылку...
это было сложно сделать самому?
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 21:22:53
kotz
поиск дает ссылку на документацию, которой полно в интернете слово в слово
хотел узнать у людей, которые с этой настройкой работали на практике, как составить правило, в каком месте его разместить, чтоб не было проблем, которые перечислил (отказ в отсылке всех писем, из-за неправильного составленного выражения)
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 21:25:02
Alex Keda
собственно - там всё сказано..
ты показывай что сделал и что не работает.
за тебя писать никто не будет.
а вот помочь - всегда рады.
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 23:04:13
kotz
так как с exim на ВЫ
то я делал так, но это точно не рабочий вариант получился
#warn condition = ${if $sender_address matches "username" {yes}{no}}
# control = fakereject/This message rated as spam
а вставлял это после этого
# Accept if the source is local SMTP (i.e. not over TCP/IP). We do this by
# testing for an empty sending host field.
accept hosts = xxx.xxx.xx.86:xxx.xxx.xxx.84:xxxx.85:xxxx83:
deny local_parts = ^.*[@%!/|]
accept local_parts = postmaster
domains = +local_domains
require verify = sender
accept domains = +local_domains
endpass
message = unknown user
verify = recipient
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 23:13:30
Alex Keda
ну, от истины недалеко.
тока надо вставлять в секции даты, как и написано в документации.
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 23:17:11
kotz
а проверку так делать?
#warn condition = ${if $sender_address matches "username" {yes}{no}}
или синтаксис неправильный, в плане скобок итд?
Re: помогите с fakereject и exim
Добавлено: 2008-01-26 23:41:23
Alex Keda
ты бы ту главу целиком прочитал...
там и примеры синтаксиса есть...
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 12:38:52
kotz
Diagnostic-Code: smtp; 550 (Administrative prohibition)
не дает отправить теперь, ни получить ни от кого
делал так:
#acl_smtp_data = acl_check_reject_users
#acl_check_reject_users:
#warn condition = ${if match {$sender_address}{.*
имя_пользователя_до_собачки.*}{yes}{no}}
# control = fakereject/This message rated as spam
Returned mail: see the transcript [FAILED(1)]
Статус доставки:
Reporting-MTA: dns; webmail13.yandex.ru
Arrival-Date: Sun, 27 Jan 2008 12:19:35 +0300
Local-Spool-ID: S3784782AbYA0JTf
Final-Recipient: RFC822;xxxxxxx
Action: failed
Status: 5.1.1 (bad destination mailbox)
Remote-MTA: dns; xxxxx (xxxxxx.82|25|xxxxxx.6|50745)
Last-Attempt-Date: Sun, 27 Jan 2008 12:20:13 +0300
Diagnostic-Code: smtp; 550 (Administrative prohibition)
Код: Выделить всё
FAILED:
Final Recipient:
RFC822;xxxxxxx
Status:
5.1.1 (bad destination mailbox)
Remote MTA:
dns; xxxxxxx (xxxxxx.82|25|xxxxx.6|50745)
Last Attempt Date:
Sun, 27 Jan 2008 12:20:13 +0300
X-ZTAID:
smtp[20577]
Diagnostic Code:
smtp; 550 (Administrative prohibition)
Control data:
smtp xxxxx xxxxxx 65534
Diagnostic texts:
<<- MAIL From:<xxxxx@xxxx.ru> SIZE=651
->> 250 OK
<<- RCPT To:<xxxxx@xxxxx.ru>
->> 250 Accepted
<<- DATA
->> 354 Enter message, ending with "." on a line by itself
<<- .
->> 550 Administrative prohibition
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 19:33:43
dikens3
acl_smtp_data = acl_check_reject_users
acl_check_reject_users:
warn condition = ${if match {$sender_address}{.*имя_пользователя_до_собачки.*}{yes}{no}}
control = fakereject/This message rated as spam
accept
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 19:39:43
kotz
попробую, а почему реджкет без этого на все распространяется?
я даже почту сам отправить не могу через почтовый клиент?
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 19:47:38
dikens3
попробую, а почему реджкет без этого на все распространяется?
Именно. Но не для всех необходимо писать accept (действия по умолчанию существуют для каждой цепочки). Читать тут про умолчания:
http://www.lissyara.su/?id=1239#39.10
И там же ещё почитать.
http://www.lissyara.su/?id=1239#39.14
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 20:11:43
kotz
а в каком месте писать этот самый accept?
сразу после не сработало:
Код: Выделить всё
2008-01-27 20:04:20 1JJAvc-0001uP-Ho H=(bill-0fd9170cbe) [xxxxx] F=<xxx@xxxx.ru> temporarily rejected after DATA: unknown ACL verb "acl_check_reject_users" in "acl_check_reject_users"
а после документации
http://www.lissyara.su/?id=1239#39.14
accept, как deny, warn вроде как взаимоисключающие????????
Re: помогите с fakereject и exim
Добавлено: 2008-01-27 22:07:45
dikens3
Re: помогите с fakereject и exim
Добавлено: 2008-01-30 17:51:00
kotz
итоговое правило
Код: Выделить всё
#acl_smtp_data = acl_check_reject_users
#acl_check_reject_users:
#warn condition = ${if match {$sender_address}{username}{yes}{no}}
#accept control = fakereject
отправлял с двух ящиков, один из которых проходит проверку, второй нет
ящик который блокирую
Код: Выделить всё
using ACL "acl_check_reject_users"
processing "warn"
check condition = ${if match {$sender_address}{username}{yes}{no}}
= YES
warn: condition test succeeded
processing "accept"
check control = fakereject
accept: condition test succeeded
calling local_scan(); timeout=300
ящик с gmail
Код: Выделить всё
using ACL "acl_check_reject_users"
processing "warn"
check condition = ${if match {$sender_address}{username}{yes}{no}}
= NO
warn: condition test failed
processing "accept"
check control = fakereject
accept: condition test succeeded
аутлуп идет обоим! вообщем, любому кто напишит
как теперь доделать, чтоб срабатывало только если условие совпадало бы.....
помогите пжл!!!!
Re: помогите с fakereject и exim
Добавлено: 2008-01-30 19:01:13
dikens3
Код: Выделить всё
acl_smtp_data = acl_check_reject_users
acl_check_reject_users:
warn condition = ${if match {$sender_address}{username}{yes}{no}}
control = fakereject
accept
это 2-а отдельных блока (ACL)
1-й:
Код: Выделить всё
warn condition = ${if match {$sender_address}{username}{yes}{no}}
control = fakereject
и 2-й:
Re: помогите с fakereject и exim
Добавлено: 2008-01-30 22:05:18
kotz
спасибо, все заработало!!!!
в первый раз ошибка из-за того что строчку не вставил пустую перед aсcept и предыдущего правила