Страница 1 из 1

Копирование почты

Добавлено: 2007-11-22 16:56:32
AlkoGekS
Копирование почты
Сделал все как тут http://forum.lissyara.su/viewtopic.php?f=14&t=2747 теже фильтры, теже настройки. Все работает. Но перестала копироваться почта на мыло начальства. Собственно вот это

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

# system filter
# А тут у начальства заскок - желание контролировать всё.
# Вот и пришлось сделать копию всей почты.
# Вот тока в IT отделе, как выяснилось, никто никому не пишет :)
system_filter = /usr/local/etc/exim/copy_mail.conf
работать не хочет никак.
Вопрос в следующем, как после всех проверок которые описаны в файле filters/system-filter копировать почту на мыло начальства?
Куда вставить вот это:

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

#!/bin/sh
# Это вовсе не шелл-скрипт, просто в mcedit при такой первой строке
# включается подсветка синтаксиса, и работать на порядок удобней :)

# Проверяем, надо ли копировать почту, идущую этому пользователю,
# на начальственный адрес (единичка в поле `copy_mail` - копировать,
#  любое другое значение - нет)
if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
then
        # кому копируем (можно на локальный адрес, можно на
        # любой другой сервер инета)
        unseen deliver mail-copy-mailbox@lissyara.su
endif

# исходящая почта (тут свои косяки - если чел в настройках своего почтового
# клиента пропишет левый адрес - почта копироваться не будет. Как вариант -
# отключить приём писем от неавторизованных клиентов, и ловить по переменной
# $authenticated_sender - но тогда железки не смогут рапортоваться, если им
# нужно, наружу... Впрочем, у меня они на этот сервер пишут...)
if $sender_address is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$sender_address' AND `copy_mail`='1' LIMIT 1}}"
then
        # кому копируем (можно на локальный адрес, можно на
        # любой другой сервер инета)
        unseen deliver mail-copy-mailbox@lissyara.su
endif

Re: Копирование почты

Добавлено: 2007-11-22 17:07:55
Alex Keda
ну а единичка в БД стоит?

Re: Копирование почты

Добавлено: 2007-11-22 17:12:14
AlkoGekS
Стоит конечно.
Это хозяйство в конец конфина system-filter вставить надо или в середину?

Re: Копирование почты

Добавлено: 2007-11-22 17:19:00
Alex Keda
а подумать?
или документацию почитать?

Re: Копирование почты

Добавлено: 2007-11-22 17:44:55
AlkoGekS
В итоге получилось:

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

logfile /var/log/exim/system-filter.log

if $acl_m1 contains "1"
then
deliver quarantine@ruskon.biz
else

if $acl_m1 contains "2"
then
deliver spam@ruskon.biz
else

if $acl_m0 matches ^\\d+
then

if $acl_m0 is above 59
then
deliver spam@ruskon.biz
endif
headers add "X-Spam-Description: if spam count > 60 - this is spam"
headers add "X-Spam-Count: $acl_m0"


if $acl_m0 is above 58
then

headers add "Old-Subject: $h_subject:"
headers remove "Subject"
headers add "Subject: (*** SPAM ***) $h_old-subject:"
headers add "X-Spam: YES"
logwrite "EXIM FILTER: Spam count = $acl_m0 ; Added SPAM header"

endif
endif
endif
endif

if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
then
        unseen deliver security@ruskon.biz
endif

if $sender_address is "${lookup mysql{SELECT `address` FROM `alias` WHERE `address`='$sender_address' AND `copy_mail`='1' LIMIT 1}}"
then
        unseen deliver security@ruskon.biz
endif
Вроде бы правильно, как я понимаю.

Re: Копирование почты

Добавлено: 2007-11-23 9:59:14
AlkoGekS
Вроде как все работает, даже почта копироваться стала, но в логах пишет такое...

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

 security (security@ruskon.biz, root@ruskon.biz, security@ruskon.biz) <system-filter> R=dovecot_user T=dovecot_delivery
Это нормально? :)

Re: Копирование почты

Добавлено: 2007-11-23 11:27:53
Alex Keda
да

Re: Копирование почты

Добавлено: 2007-11-23 17:29:23
AlkoGekS
Спасиба :)
P.S. Не прошло и двух недель как почта заработала как надо, НАКОНЕЦ ТО :))