exim - кодировка в mainlog

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35045
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Непрочитанное сообщение Alex Keda » 2006-08-20 11:47:48

и вообще я не понял - заработало или нет?
Убей их всех! Бог потом рассортирует...

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

robi
рядовой
Сообщения: 49
Зарегистрирован: 2006-08-17 21:46:31

Непрочитанное сообщение robi » 2006-08-20 12:13:48

lissyara писал(а):

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

auth_login:
  driver = plaintext
а это тогда откуда?
это я когда вставлял кусок кода, оставил для привязки сверху accept и снизу хотел оставить первую незакоментированную строку - но папарился и всесте с закоментироваными грохнул begin routers

robi
рядовой
Сообщения: 49
Зарегистрирован: 2006-08-17 21:46:31

Непрочитанное сообщение robi » 2006-08-20 12:30:13

lissyara писал(а):и вообще я не понял - заработало или нет?
в базу пишет если
код такой

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

 
accept
set acl_m6 = ${lookup mysql{INSERT INTO `maillog` SET \
                datetime='${tod_log}', \
                mailid='${message_id}', \
                mfrom='${sender_address}', \
                mto=REPLACE('${recipients}',', ','\n'), size=${message_size}, \
                subject='$h_subject:', \
                host='$qualify_domain'}}
begin routers
если вставляю условия для проверки - нужно ли писать в БД стаистику для этого домена
к приреру так

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

accept 

if $domain is "${lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='$domain' AND `log`='1'}}" 
then 
set acl_m6 = ${lookup mysql{INSERT INTO `maillog` SET \ 
                datetime='${tod_log}', \ 
                mailid='${message_id}', \ 
                mfrom='${sender_address}', \ 
                mto=REPLACE('${recipients}',', ','\n'), size=${message_size}, \ 
                subject='$h_subject:', \ 
                host='$domain'}} 
endif 

begin routers
то ни хрена - данном случае exim ругаеться при запуске на then

как ты еще советовал warn logwrite = logging into DB
тоже ни хрена, при запуске не ругаеться но и не пишет ни чего
попробую еще раз описать как я это представляю :)
я не могу въехать как описать условия присвоения переменной acl_m6 значения
в зависимости к примеру от другой переменной
те делаем set acl_m5 = ${if eq {lookup mysql{SELECT `domain` FROM `domain` WHERE `domain`='$domain' AND `log`='1'}} {$domain} {yes}{no} }
те проверяем есть ли домен порлучателя в списке доменов для которого нужно писать статистику, если yes
то тогда set acl_m6 = insert и тд
если no
то ни хрена не делаем

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

Непрочитанное сообщение Alex Keda » 2006-08-20 14:06:54

lissyara писал(а):сам не пробовал, но мона примерно так:

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

warn  logwrite = logging into DB
         domains = {lookup mysql \ 
                         {SELECT `domain` FROM `domain` WHERE  \ 
                         `domain`=`${qualify_domain}` AND`log`= `1`} 
        set acl_m6 =  ${lookup mysql{INSERT INTO `stat` SET \ 
                             XFrom='${sender_address}', \ 
                             XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \ 
                             Subj='$h_subject:'}}
а так:

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

accept
         domains = {lookup mysql \ 
                         {SELECT `domain` FROM `domain` WHERE  \ 
                         `domain`=`${qualify_domain}` AND`log`= `1`} 
        set acl_m6 =  ${lookup mysql{INSERT INTO `stat` SET \ 
                             XFrom='${sender_address}', \ 
                             XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \ 
                             Subj='$h_subject:'}}
# потом ещё один accept
accept
Убей их всех! Бог потом рассортирует...

robi
рядовой
Сообщения: 49
Зарегистрирован: 2006-08-17 21:46:31

Непрочитанное сообщение robi » 2006-08-20 15:10:52

accept
domains = {lookup mysql \
{SELECT `domain` FROM `domain` WHERE \
`domain`=`${qualify_domain}` AND`log`= `1`}
set acl_m6 = ${lookup mysql{INSERT INTO `stat` SET \
XFrom='${sender_address}', \
XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \
Subj='$h_subject:'}}
# потом ещё один accept
accept
вообще почта не доставляеться

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

Непрочитанное сообщение Alex Keda » 2006-08-20 15:15:30

:)
а в system_filter всё это делать идеология не позволяет? там можно и if и then применять...
Убей их всех! Бог потом рассортирует...

robi
рядовой
Сообщения: 49
Зарегистрирован: 2006-08-17 21:46:31

Непрочитанное сообщение robi » 2006-08-20 15:42:17

lissyara писал(а)::)
а в system_filter всё это делать идеология не позволяет? там можно и if и then применять...
пробовал...
что бы долго не мучиться пробовал записывать в лог вместо копирования почты, было вот так

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

if $recipients is "${lookup mysql{SELECT `address` FROM `alias` WHERE \
                   `address`='$recipients' AND `copy_mail`='1' LIMIT 1}}"
then
        # кому копируем (можно на локальный адрес, можно на
        # любой другой сервер инета)
#        unseen deliver copymail@mail221.ru
"${lookup mysql{INSERT INTO `maillog` SET \
                datetime='${tod_log}', \
                mailid='${message_id}', \
                mfrom='${sender_address}', \
                mto=REPLACE('${recipients}',', ','\n'), size=${message_size}, \
                subject='$h_subject:', \
                host='$sender_address_domain'}"


endif
а потом в mainlog читал

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

2006-08-20 16:39:22 1GEmaI-000AJW-1e Error in system filter: unknown filtering command ""${lookup" near line 14 of filter file

Аватара пользователя
santinorostov
проходил мимо
Сообщения: 6
Зарегистрирован: 2006-09-26 12:29:51
Откуда: Ростов-на-Дону

Непрочитанное сообщение santinorostov » 2006-11-13 9:45:46

robi
И все таки ?
получилось ли с логами? Интересно....

Была у меня попытка реализовать сбор логов через routers
log:
driver = accept
condition=${lookup mysql {INSERT INTO log VALUES \
(NOW(),'${local_part}','${domain}','${sender_address_local_part}',\
'${sender_address_domain}',${message_size});}}
transport = fake
no_verify
unseen

неудачная... или скажем...не доведенная до конца..

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Непрочитанное сообщение dikens3 » 2006-11-13 11:49:32

robi писал(а): надо будет передать. хотя скриптом с друго сервера засандалил 2 000 гдето за час.
(а VPS ОЧЕНЬ слабенький 500проц +96 памяти) - особой нагрузки небыло, хотя кламав еще не прикручен. надо буде повторить уже с ним и глянуть как реагировать будет.

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

Генерация писем для тестирования почтовиков. :-)
/usr/ports/benchmarks/postal
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.