URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 79886
[ Назад ]

Исходное сообщение
"Запрет почты с зоны com в Exim"

Отправлено R4V3N , 18-Апр-08 12:03 
Добрый день.
Нужно запретить на Exim получение почты из зоны COM и CZ, кроме адреса microsoft.com. Никак не въеду, что нужно написать в конфиге:
deny message = "deny *.com"
     condition = ${if match{$sender_host_name} \
а вот что дальше то?
{.com|.cz} \ {yes}{no}} я так понимаю неправильная конструкция.
Спасибо за внимание.

Содержание

Сообщения в этом обсуждении
"Запрет почты с зоны com в Exim"
Отправлено Hetzer , 18-Апр-08 12:38 
>Добрый день.
>Нужно запретить на Exim получение почты из зоны COM и CZ, кроме
>адреса microsoft.com. Никак не въеду, что нужно написать в конфиге:
>deny message = "deny *.com"
>     condition = ${if match{$sender_host_name} \
>а вот что дальше то?
>{.com|.cz} \ {yes}{no}} я так понимаю неправильная конструкция.
>Спасибо за внимание.

вариант
match {${extract{-1}{.}{${lc:$sender_host_name}}}} {com|cz}


"Запрет почты с зоны com в Exim"
Отправлено Matz , 18-Апр-08 12:47 
>Добрый день.
>Нужно запретить на Exim получение почты из зоны COM и CZ, кроме
>адреса microsoft.com. Никак не въеду, что нужно написать в конфиге:
>deny message = "deny *.com"
>     condition = ${if match{$sender_host_name} \
>а вот что дальше то?
>{.com|.cz} \ {yes}{no}} я так понимаю неправильная конструкция.
>Спасибо за внимание.

deny    condition = ${if match{$sender_host_name}{\N.*\.(com|cz)$\N}{yes}{no}}
        message   = "Deny *.com."

Подходит?


"Запрет почты с зоны com в Exim"
Отправлено R4V3N , 18-Апр-08 12:55 
Спасибо за столь оперативные ответы.
Второй вариант в принцие такой же как у меня. Но... Письма от microsoft.com такой барьер не пройдут ведь...
Как быть?



"Запрет почты с зоны com в Exim"
Отправлено Александр , 18-Апр-08 13:41 
>Спасибо за столь оперативные ответы.
>Второй вариант в принцие такой же как у меня. Но... Письма от
>microsoft.com такой барьер не пройдут ведь...
>Как быть?

а spamassassin не хочешь установить???

с помощью черных и белых списков задача решается элементарно


"Запрет почты с зоны com в Exim"
Отправлено Matz , 18-Апр-08 14:46 
>Спасибо за столь оперативные ответы.
>Второй вариант в принцие такой же как у меня. Но... Письма от
>microsoft.com такой барьер не пройдут ведь...
>Как быть?

deny    condition = ${if match{$sender_host_name}{\N.*[^microsoft]\.(com|cz)$\N}{yes}{no}}
        message   = "Deny *.com."

Попробуйте так.


"Запрет почты с зоны com в Exim"
Отправлено R4V3N , 28-Апр-08 08:36 
>deny    condition = ${if match{$sender_host_name}{\N.*[^microsoft]\.(com|cz)$\N}{yes}{no}}
>        message   =
>"Deny *.com."
>
>Попробуйте так.

К сожалению данный код не решает вопроса. Почта из зон com и cz как приходила, так и приходит. Где то что то не так. Как решить? Где можно посмотреть "расшифровку" составления данных правил?



"Запрет почты с зоны com в Exim"
Отправлено Hetzer , 28-Апр-08 10:49 
>>deny    condition = ${if match{$sender_host_name}{\N.*[^microsoft]\.(com|cz)$\N}{yes}{no}}
>>        message   =
>>"Deny *.com."
>>
>>Попробуйте так.
>
>К сожалению данный код не решает вопроса. Почта из зон com и
>cz как приходила, так и приходит.

а этот код рубит именно microsoft.com|cz :)

>Где то что то не
>так. Как решить? Где можно посмотреть "расшифровку" составления данных правил?

прошло 10 суток со времени поста вопроса.... за это время можно было найти документацию на любом нужном языке, прочитать по acl и как смотреть отработку acl в debug-e и родить хотя бы такое простое:

drop message = "летите на йух"
condition = ${if match {${extract{-1}{.}{${lc:$sender_host_name}}}} {com|cz}}
condition = ${if !match {${extract{-2}{.}{${lc:$sender_host_name}}}} {microsoft}}
log_message = "$sender_host_name отправлен на йух"


"Запрет почты с зоны com в Exim"
Отправлено R4V3N , 28-Апр-08 11:12 
>а этот код рубит именно microsoft.com|cz :)

:-D
>
>>Где то что то не
>>так. Как решить? Где можно посмотреть "расшифровку" составления данных правил?
>
>прошло 10 суток со времени поста вопроса....
>за это время можно было

К сожалению нельзя было. Так уж обстоятельства сложились.

>найти документацию на любом нужном языке, прочитать по acl и как
>смотреть отработку acl в debug-e и родить хотя бы такое простое:
>
>
>drop message = "летите на йух"
>condition = ${if match {${extract{-1}{.}{${lc:$sender_host_name}}}} {com|cz}}
>condition = ${if !match {${extract{-2}{.}{${lc:$sender_host_name}}}} {microsoft}}
>log_message = "$sender_host_name отправлен на йух"

Спасибо большое! Обязательно сейчас попробую, вместо моего тупого обрезания данных зон.


"Запрет почты с зоны com в Exim"
Отправлено Matz , 28-Апр-08 21:16 
>[оверквотинг удален]
>>>        message   =
>>>"Deny *.com."
>>>
>>>Попробуйте так.
>>
>>К сожалению данный код не решает вопроса. Почта из зон com и
>>cz как приходила, так и приходит.
>
>а этот код рубит именно microsoft.com|cz :)
>

Как раз таки нет. Пробовал на рабочей системе.


"Запрет почты с зоны com в Exim"
Отправлено Hetzer , 29-Апр-08 06:39 
>[оверквотинг удален]
>>>>
>>>>Попробуйте так.
>>>
>>>К сожалению данный код не решает вопроса. Почта из зон com и
>>>cz как приходила, так и приходит.
>>
>>а этот код рубит именно microsoft.com|cz :)
>>
>
>Как раз таки нет. Пробовал на рабочей системе.

прошу прощения, да, невнимательно глянул на регексп


"Запрет почты с зоны com в Exim"
Отправлено R4V3N , 29-Апр-08 15:19 

>>Как раз таки нет. Пробовал на рабочей системе.

Переписал буква в букву!!! Сразу после проверок через bl сервера. Не работает... письма как проходили, так и проходят. Даже в логах никак не засвечивается...
А на предыдущие примеры матерится:

2008-04-28 12:18:26 H=(edge.securus-group.local) [81.118.222.5] I=[my.server.ip]:25 F=<> temporarily rejected RCPT <boerseamsonntag@my.server.address.ru>: failed t
o expand ACL string "${if match {${extract{-1}{.}{${1c:$sender_host_name}}}}{com|biz|net|ua|cz|kr}}": } expected after number
или даже так
2008-04-28 12:21:45 H=(dsl78.187-971.ttnet.net.tr) [78.187.3.203] I=[my.server.ip]:25 F=<sale@zlavka.ru> temporarily rejected RCPT <secretar@my.server.address.ru>:
failed to expand ACL string "${if eqi {${extract{-1}{.}{$sender_address_domain}}{(com|biz|net|ua|cz|kr)}}": missing 2nd string in {} after "eqi"


"Запрет почты с зоны com в Exim"
Отправлено Hetzer , 29-Апр-08 15:25 
>[оверквотинг удален]
>письма как проходили, так и проходят. Даже в логах никак не
>засвечивается...
>А на предыдущие примеры матерится:
>
>2008-04-28 12:18:26 H=(edge.securus-group.local) [81.118.222.5] I=[my.server.ip]:25 F=<> temporarily rejected RCPT <boerseamsonntag@my.server.address.ru>: failed t
>o expand ACL string "${if match {${extract{-1}{.}{${1c:$sender_host_name}}}}{com|biz|net|ua|cz|kr}}": } expected after number
>или даже так
>2008-04-28 12:21:45 H=(dsl78.187-971.ttnet.net.tr) [78.187.3.203] I=[my.server.ip]:25 F=<sale@zlavka.ru> temporarily rejected RCPT <secretar@my.server.address.ru>:
> failed to expand ACL string "${if eqi {${extract{-1}{.}{$sender_address_domain}}{(com|biz|net|ua|cz|kr)}}": missing 2nd string
>in {} after "eqi"

тебе пора начать читать документацию :) куда ты эти acl-и поставил? попробуй в самое начало acl_smtp_rcpt

вообще проверяй свои acl-и таким способом: exim -bh