Копирование почты в отдельный ящик с условиями.

EXIM, sendmail, postfix, Dovecot и прочие. Решение проблем связанных с работой электронной почты

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-02-25 20:47:58

Всё сделал как описано в статье "Связка exim и courier-imap" (http://www.lissyara.su/?id=1175). Копирование нужных писем работает в полный рост. Даже слишком. :( За 2 недели уже накопировалось больше 2-х гигабайт.

В связи с такими угрожающими темпами возникает вопрос. А можно ли отсеивать некоторые письма по размеру? Или содержимому (тип приаттаченного файла, какие-либо текстовые шаблоны)?

Самостоятельно разобраться в этой задаче не могу. Заранее спасибо за помощь.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
zingel
beastie
Сообщения: 6204
Зарегистрирован: 2007-10-30 3:56:49
Откуда: Moscow
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение zingel » 2009-02-26 3:28:48

Код: Выделить всё

find /путь/до/папки  -type f |xargs ls -s | sort -rn
и если много будет вставить в xargs не ls, а rm
Z301171463546 - можно пожертвовать мне денег

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-02-26 22:25:33

zingel писал(а):

Код: Выделить всё

find /путь/до/папки  -type f |xargs ls -s | sort -rn
и если много будет вставить в xargs не ls, а rm
Как я понимаю, это предлагается запускать периодически руками?

Если совсем никак иначе, то буду делать так. Но хотелось бы что "само" работало. Прямо в скрипте copy_mail.conf. Так можно сделать?

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-03-03 20:49:58

Так что же, нет никакого способа отсеивать слишком большие письма для копирования? Я уже рума подустал удалять монструозные послания с фотографиями и макетами газет. :(

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-03-06 10:50:19

Попытался сам решить свою задачу, немного поменял system_filter:

Код: Выделить всё

if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}" and $message_size is below 10M
 then
                     unseen deliver mail-copy-mailbox@xxxxx.xx
endif
Но это работает так же как и раньше - копируется вся подряд, а не только то что меньше 10 мегабайт. :(
Кто может объяснить где я ошибся?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Alex Keda » 2009-03-06 22:47:41

разбей на два вложенных, для начала
Убей их всех! Бог потом рассортирует...

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение paix » 2009-03-07 11:04:25

меня заинтересовал топик ;) а именно копирование всей почты.
Но делать все это на отдельный ящик слишком неудобно.

Не подскажут ли господа, как делать копию проходящей почты в отдельную директорию, где почта будет сортироваться по локальному отправителю\получателю, ну и потом архивировать ее ?

ЗЫ. с юридическими аспектами ознакомлен. почта внутренняя.
With best wishes, Sergej Kandyla

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-03-07 12:56:40

lissyara писал(а):разбей на два вложенных, для начала
Вот так вот?

Код: Выделить всё

if $message_size is below 10M
    then
if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
 then
           unseen deliver mail-copy-mailbox@xxxxx.xx
 endif
endif
Уже делал. Тоже не работает. А понять почему — знаний не хватает.

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Alex Keda » 2009-03-08 19:00:47

Grass_snake писал(а):
lissyara писал(а):разбей на два вложенных, для начала
Вот так вот?

Код: Выделить всё

if $message_size is below 10M
    then
if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
 then
           unseen deliver mail-copy-mailbox@xxxxx.xx
 endif
endif
Уже делал. Тоже не работает. А понять почему — знаний не хватает.
ну, а какое именно не работает?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35411
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Alex Keda » 2009-03-08 19:19:16

2 paix

Код: Выделить всё

# routing for 'input' mailbox
user_input:
        driver          = redirect
        local_parts     = input
#       data            = /mail/archive/input/${length_10:$tod_log}/${lc:$recipients}/$message_exim_id.eml
        data            = /mail/archive/input/${length_10:$tod_log}/${address:${lc:$h_X-mail-to:}}/$message_exim_id.eml
        file_transport  = address_file

# routing for 'output' mailbox
user_output:
        driver          = redirect
        local_parts     = output
        data            = /mail/archive/output/${length_10:$tod_log}/${lc:$sender_address}/$message_exim_id.eml
        file_transport  = address_file

viruses:
        driver          = redirect
        local_parts     = viruses
        data            = /mail/archive/viruses/${length_10:$tod_log}/$message_exim_id.eml
        file_transport  = address_file
на хосте с которого копируется почта (архив, с которого строки выше - на другом хосте)

Код: Выделить всё

# копирование проходящей почты.
# если пришла с роутера - исходящая, если не с роутра - входящая
#if $sender_host_address match 192.168.100.3
# в  $acl_m3 - IP роутера
if $sender_host_address match $acl_m3
then
        # added by lissyara 2008-04-17
        if $received_protocol does not match spam-scanned
        then
                # исходящая
                unseen  deliver output@mail-gw.xxx.local
        endif
else
        if $received_protocol does not match local
        then
                # входящая
                #logwrite "$tod_log $message_exim_id: recipients = $recipients"
                headers remove X-mail-to:
                headers add "X-mail-to: $recipients"
                unseen  deliver input@mail-gw.xxx.local
        endif
endif
Убей их всех! Бог потом рассортирует...

Grass_snake
рядовой
Сообщения: 28
Зарегистрирован: 2006-06-20 22:54:36

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение Grass_snake » 2009-03-08 21:19:54

lissyara писал(а): ну, а какое именно не работает?
То, что должно отбрасывать все письма болше 10 мегабайт.

Код: Выделить всё

if $message_size is below 10M
    then
Само копирование при этом работает исправно.


Я тут смотрю и понимаю что работы во всём этом — целина не паханная. Ведь есть ещё и просто рассылки, малоинтересные для копирования, и уйма личных фотографий, занимающих ограниченное место на серверах, и пересылка макетов и роликов для рекламы, и просто массовая рассылка одного и того же. :cz2:

paix
лейтенант
Сообщения: 863
Зарегистрирован: 2007-09-24 12:41:05
Откуда: dn.ua
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение paix » 2009-03-09 9:36:32

2 lissyara

Спасибо! круто! ;)
у меня кроме просто желания перевести локальный почтовик с постфикса на экзим, появилась еще конкретная аргументация )

я еще не доконца понял как оно работает, но тут не попробуеш - не узнаеш ;)
With best wishes, Sergej Kandyla

tema_c
проходил мимо
Сообщения: 8
Зарегистрирован: 2009-04-12 23:36:40
Откуда: Харьков
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение tema_c » 2009-04-17 11:30:47

А можно ли каким-то образом сравнить $recipients с +local_domains и если получатель из локального домена то копию не делать (для исходящей почты)
И соответственно для входящей.. если $senred_address из +local_domains то тоже не делать копию.

Метод тыка не сработал, а в синтаксис не могу въехать..
Помогите плиз..
Начальство своей параноей достало((

tema_c
проходил мимо
Сообщения: 8
Зарегистрирован: 2009-04-12 23:36:40
Откуда: Харьков
Контактная информация:

Re: Копирование почты в отдельный ящик с условиями.

Непрочитанное сообщение tema_c » 2009-04-19 22:23:56

ну хоть ткните где почитать про спицифику синтаксиса system-filter