[Exim-rusers] филтрация по Subject

156 views
Skip to first unread message

sys

unread,
May 27, 2008, 10:10:26 AM5/27/08
to exim-users@exim.org.ua >> CIS Exim users mailing list
подскажите пожалуйста что тут не правильно

data:
...
deny condition = ${if match
{$h_subject:}{/etc/exim/bad_subject}{yes}{no}}
message = "*** $h_subject ***"

или так

deny condition = ${lookup
{$h_subject}{/etc/exim/bad_subject}{yes}{no}}
message = "*** $h_subject ***"

все равно не работает (((

_______________________________________________
exim-users mailing list
exim-...@exim.org.ua
http://exim.org.ua/mailman/listinfo/exim-users

George L. Yermulnik

unread,
May 27, 2008, 11:00:26 AM5/27/08
to exim-...@exim.org.ua
Hello!

On Tue, 27 May 2008 at 17:10:26 (+0300), sys wrote:

> подскажите пожалуйста что тут не правильно

> data:
> ...
> deny condition = ${if match
> {$h_subject:}{/etc/exim/bad_subject}{yes}{no}}
> message = "*** $h_subject ***"

Тут Вы просто сравниваете, чтобы собжект соответствовал _строке_
"/etc/exim/bad_subject".

> или так

> deny condition = ${lookup
> {$h_subject}{/etc/exim/bad_subject}{yes}{no}}
> message = "*** $h_subject ***"

А тут Вы используете лукап без указания типа лукапа.

> все равно не работает (((

У Вас /etc/exim/bad_subject в каком формате? Какие там записи?
Вполне вероятно, что Вас lsearch интересует или что-то в этом духе.
В документации (spec.txt) есть примеры с объяснениями.


--
George L. Yermulnik
[YZ-RIPE]

sys

unread,
May 27, 2008, 11:06:50 AM5/27/08
to CIS Exim users mailing list

>> deny condition = ${lookup
>> {$h_subject}{/etc/exim/bad_subject}{yes}{no}}
>> message = "*** $h_subject ***"
>>
>
> А тут Вы используете лукап без указания типа лукапа.
>
Спасибо, странно но вот такая конструкция работает не первый год

deny condition = ${lookup {$sender_host_name}
nwildlsearch{/etc/exim/dynamic_pools}{1}{0}}
message = "*** USE OTHER AND LEGAL SMTP MAIL SERVER ***"

где /etc/exim/dynamic_pools в таком формате:

^.*\-dynamic\..*
^.*helo.*\d+\.\d+\.\d+\.\d+.*
^.*\-dialin\..*
^.*\.dial-up.
^.*dialup\d+.*

еще и переменная $h_subject вроде как пустая

George L. Yermulnik

unread,
May 27, 2008, 11:11:22 AM5/27/08
to exim-...@exim.org.ua
Hello!

On Tue, 27 May 2008 at 18:06:50 (+0300), sys wrote:

> >> deny condition = ${lookup
> >> {$h_subject}{/etc/exim/bad_subject}{yes}{no}}
> >> message = "*** $h_subject ***"

> > А тут Вы используете лукап без указания типа лукапа.

> Спасибо, странно но вот такая конструкция работает не первый год

> deny condition = ${lookup {$sender_host_name}
> nwildlsearch{/etc/exim/dynamic_pools}{1}{0}}
> message = "*** USE OTHER AND LEGAL SMTP MAIL SERVER ***"

Вы всё же сравните более тщательно написание первого и второго acl'ей.
Разница в них есть. И именно в указании типа lookup'а.

> где /etc/exim/dynamic_pools в таком формате:

> ^.*\-dynamic\..*
> ^.*helo.*\d+\.\d+\.\d+\.\d+.*
> ^.*\-dialin\..*
> ^.*\.dial-up.
> ^.*dialup\d+.*

> еще и переменная $h_subject вроде как пустая

Эта переменная пустая только в случае пустого сабжекта =)

--
George L. Yermulnik
[YZ-RIPE]

_______________________________________________

An An

unread,
May 27, 2008, 1:05:53 PM5/27/08
to CIS Exim users mailing list
Кроме того, что вам назвали в качестве ошибок, еще учтите, что кодировка играет важную роль. Так что, либо у вас файл должен содержать русские символы во всех возможных кодировках, либо нужно конвертировать содержимое $h_Subject через iconv на лету.

sys

unread,
May 27, 2008, 1:18:34 PM5/27/08
to CIS Exim users mailing list

>> deny condition = ${lookup {$sender_host_name}
>> nwildlsearch{/etc/exim/dynamic_pools}{1}{0}}
>> message = "*** USE OTHER AND LEGAL SMTP MAIL SERVER ***"
>>
>
> Вы всё же сравните более тщательно написание первого и второго acl'ей.
> Разница в них есть. И именно в указании типа lookup'а.
>
не не не, извините - это я так в письмо скопировал, nwildlsearch был и
там и там
вот так не работает

deny condition = ${lookup {$h_subject}

nwildlsearch{/etc/exim/bad_subject}{1}{0}}
message = "*wendekapec*"

но если по идее должно работать значит буду дальше разбираться спасибо,
просто странно что и $h_subject пустая, может это надо писать не в
секции дата а в
секции acl_check_rcpt? хотя вроде и там она пустая получалась

Golub Mikhail

unread,
May 28, 2008, 2:37:37 AM5/28/08
to CIS Exim users mailing list
Надо писать не {$h_subject} а {$h_subject:} - с двоеточием, тогда не пустая
переменная будет.
И в дата ... До DATA сабжекта нету.

Например:
condition = ${if and { {def:h_Subject:} {<{$message_size}{3000}}
{eq{$h_Subject:}{test}{true}{false}} } }


------------------------------------------
С уважением,
Голуб Михаил
******************************************
Компания Инком
Бизнес-центр Инком, ул. Смоленская, 31/33
г. Киев 03005 Украина
http://www.incom.ua
MG93-UANIC

s...@sys-admin.org

unread,
May 28, 2008, 3:06:37 AM5/28/08
to exim...@gmn.org.ua, CIS Exim users mailing list
Спасибо!

> Надо писать не {$h_subject} а {$h_subject:} - с двоеточием, тогда не пустая
> переменная будет.
> И в дата ... До DATA сабжекта нету.
>
> Например:
> condition = ${if and { {def:h_Subject:} {<{$message_size}{3000}}
> {eq{$h_Subject:}{test}{true}{false}} } }
>
>

Dmitriy Bogun

unread,
May 28, 2008, 4:22:18 AM5/28/08
to An An, CIS Exim users mailing list
В Втр, 27/05/2008 в 21:05 +0400, An An пишет:
По моему вы вводите человека в заблуждение.
Если верить spec.txt

Раздел 11.5

$header_<header name>: or $h_<header name>:
$bheader_<header name>: or $bh_<header name>:
$rheader_<header name>: or $rh_<header name>:
header tries to translate the string as decoded by bheader to a standard character set. This is an
attempt to produce the same string as would be displayed on a user’s MUA. If translation fails,
the bheader string is returned. Translation is attempted only on operating systems that support
the iconv() function. This is indicated by the compile-time macro HAVE_ICONV in a system
Makefile or in Local/Makefile.


Кстати, кто-нибудь знает планируют ли в sa починить поддержку
normalize_charset? А то там действительно приходитс изображать страшные
конструкцие со всеми вариантами кодировок.
--
Dmitriy Bogun <vugl...@vugluskr.org.ua>

s...@sys-admin.org

unread,
Jun 22, 2008, 12:24:52 AM6/22/08
to exim...@gmn.org.ua, CIS Exim users mailing list

> Надо писать не {$h_subject} а {$h_subject:} - с двоеточием, тогда не пустая
> переменная будет.
> И в дата ... До DATA сабжекта нету.
>
спасибо огромное - работает вот так:

deny condition = ${lookup {$h_subject:}

nwildlsearch{/etc/exim/subject_spam}{1}{0}}
!hosts = +relay_from_hosts : +dwip_hosts
!condition = ${lookup {${escape:${lookup
dnsdb{ptr=$sender_host_address}}}}\
nwildlsearch{/etc/exim/dwregexp}{1}{0}}
!condition = ${lookup {$sender_helo_name}
nwildlsearch{/etc/exim/dwregexp}{1}{0}}
message = "spam"


в /etc/exim/subject_spam - регекспы с левыми сабжектами

Reply all
Reply to author
Forward
0 new messages