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

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

Модератор: xM

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
AlkoGekS
сержант
Сообщения: 152
Зарегистрирован: 2007-05-22 11:30:29
Контактная информация:

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

Непрочитанное сообщение AlkoGekS » 2007-11-22 16:56:32

Копирование почты
Сделал все как тут 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

Хостинговая компания 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/

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

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

Непрочитанное сообщение Alex Keda » 2007-11-22 17:07:55

ну а единичка в БД стоит?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
AlkoGekS
сержант
Сообщения: 152
Зарегистрирован: 2007-05-22 11:30:29
Контактная информация:

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

Непрочитанное сообщение AlkoGekS » 2007-11-22 17:12:14

Стоит конечно.
Это хозяйство в конец конфина system-filter вставить надо или в середину?

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

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

Непрочитанное сообщение Alex Keda » 2007-11-22 17:19:00

а подумать?
или документацию почитать?
Убей их всех! Бог потом рассортирует...

Аватара пользователя
AlkoGekS
сержант
Сообщения: 152
Зарегистрирован: 2007-05-22 11:30:29
Контактная информация:

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

Непрочитанное сообщение AlkoGekS » 2007-11-22 17:44:55

В итоге получилось:

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

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
Вроде бы правильно, как я понимаю.

Аватара пользователя
AlkoGekS
сержант
Сообщения: 152
Зарегистрирован: 2007-05-22 11:30:29
Контактная информация:

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

Непрочитанное сообщение AlkoGekS » 2007-11-23 9:59:14

Вроде как все работает, даже почта копироваться стала, но в логах пишет такое...

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

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

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

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

Непрочитанное сообщение Alex Keda » 2007-11-23 11:27:53

да
Убей их всех! Бог потом рассортирует...

Аватара пользователя
AlkoGekS
сержант
Сообщения: 152
Зарегистрирован: 2007-05-22 11:30:29
Контактная информация:

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

Непрочитанное сообщение AlkoGekS » 2007-11-23 17:29:23

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