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

Исходное сообщение
"Exim дублирование почты"

Отправлено deep_color , 26-Янв-11 03:54 
Возникла некая проблема помогите пожалуйста решить.
Добрый день!

Нужно было реализовать дублирование всех писем (вх и исх.) на другой ящик, написал такое в exim-filter:

if $h_from: contains "@my_domain.com"
then
     unseen deliver "copy@my _domain.com"
endif

if $recipients: contains "@my_domain.com"
then
    unseen deliver "copy@my_domain.com"
endif

но проблема в том что спама слишком много на @my_domain.com и возникла нужда принимать дубли только с реальных ящиков.

if $h_from: contains "как заставить его подставлять данные из файла"



Содержание

Сообщения в этом обсуждении
"Exim дублирование почты"
Отправлено DeadLoco , 26-Янв-11 04:59 
> но проблема в том что спама слишком много на @my_domain.com и возникла
> нужда принимать дубли только с реальных ящиков.

Во-первых, в экзиме для копирования обычно делают роутер:

auditor:
       driver          = redirect
       domains         = *
       data            = auditor@domain.tld
       unseen

Для того, чтобы не принимать спам, спам нужно резать. Я это делаю в ацлях. В acl_rcpt можно проверить, бэкрезолвится ли отправитель, приличное ли у него доменное имя и еще кучу разных вещей. Только на этом отсеется 3/4 входящих соединений. Примем тело письма от отправителя и через acl_data скормим его спамассассину. Если СА сочтет, что письмо явный спам - дропнем его. Если СА сомневается - пометим, как спам, но примем. Если письмо чистое - тем более примем. В моем случае спама проскакивает около двух процентов от всей почты, попадающей в ящики юзерам.


"Exim дублирование почты"
Отправлено deep_color , 26-Янв-11 05:21 
>[оверквотинг удален]
>        unseen
> Для того, чтобы не принимать спам, спам нужно резать. Я это делаю
> в ацлях. В acl_rcpt можно проверить, бэкрезолвится ли отправитель, приличное ли
> у него доменное имя и еще кучу разных вещей. Только на
> этом отсеется 3/4 входящих соединений. Примем тело письма от отправителя и
> через acl_data скормим его спамассассину. Если СА сочтет, что письмо явный
> спам - дропнем его. Если СА сомневается - пометим, как спам,
> но примем. Если письмо чистое - тем более примем. В моем
> случае спама проскакивает около двух процентов от всей почты, попадающей в
> ящики юзерам.

У меня вопрос как (include) брать данные из файла и подставлять вместо @my_domain.com
if $h_from: contains "@my_domain.com"
then
     unseen deliver "copy@my _domain.com"
endif

if $recipients: contains "@my_domain.com"
then
    unseen deliver "copy@my_domain.com"
endif


"Exim дублирование почты"
Отправлено DeadLoco , 26-Янв-11 11:27 
> У меня вопрос как (include) брать данные из файла и подставлять вместо
> @my_domain.com

Объясните, что вы собираетесь подставлять из файла, и как вы собираетесь решать, какую именно строку из файла вы будете подставлять в каждом конкретном случае.


"Exim дублирование почты"
Отправлено deep_color , 26-Янв-11 12:36 
>> У меня вопрос как (include) брать данные из файла и подставлять вместо
>> @my_domain.com
> Объясните, что вы собираетесь подставлять из файла, и как вы собираетесь решать,
> какую именно строку из файла вы будете подставлять в каждом конкретном
> случае.

Мне нужно какимто макаром сделать

if $h_from: contains "@my_domain.com"
then
     unseen deliver "copy@my _domain.com"
endif

Если выражение $h_from: совпадает с каким либо выражением во внешнем файле (или слова написаны с разделителем или на новой строчке)
то копировать почту на определенный ящик.


"Exim дублирование почты"
Отправлено DeadLoco , 26-Янв-11 14:08 
> Если выражение $h_from: совпадает с каким либо выражением во внешнем файле (или
> слова написаны с разделителем или на новой строчке)
> то копировать почту на определенный ящик.

Еще раз настаиваю: делайте через роутер. Только добавьте проверку по списку регекспов:

auditor:
driver          = redirect
domains         = *
condition       = ${lookup{$h_from}wildlsearch{/usr/local/etc/exim/h_from.list}{yes}{no}}
data            = auditor@domain.tld
unseen

В файл h_from.list кладете регекспы по одному на строку:

v.pupkin@mail.ru
vasyap@*
*poopkin*


"Exim дублирование почты"
Отправлено deep_color , 28-Янв-11 17:23 
>[оверквотинг удален]
> redirect
>  domains         = *
>  condition       = ${lookup{$h_from}wildlsearch{/usr/local/etc/exim/h_from.list}{yes}{no}}
>  data          
>  = auditor@domain.tld
>  unseen
> В файл h_from.list кладете регекспы по одному на строку:
> v.pupkin@mail.ru
> vasyap@*
> *poopkin*

Есть засада не пойму подскажите сделал так , но почему то все равно пролезает не по шаблону.
begin routers
    archive_all:
        driver = accept
        condition = ${extract{1}{:}{lsearch{/usr/local/etc/exim/passwd}}
        transport = tr_archive_all
        unseen

begin transports
      tr_archive_all:
        driver = appendfile
        maildir_format = true
        create_directory = true
        directory_mode = 700
        directory = /home/mailnull/data/email/mailnull.ru/audit/.maildir
        delivery_date_add
        envelope_to_add
        return_path_add
        mode = 0660
        use_lockfile = no
        no_mode_fail_narrower
        user = mailnull
        group = mailnull
______________________________________________________________________________________

И еще вопросик
У меня несколько почтовых доменов , как написать мультидоменный сертификат для Dovecot.