exim - кодировка в mainlog
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
exim - кодировка в mainlog
exim если включить log_selector = +all
пишет в лог заголовки сообщений но в какой то хитрой кодировке, к примеру вместо слова тест в логе \362\345\361\362
как побороть?
если нельзя побороть как эту сроку перекодировать на лету для дальнейшего помещения в mysql ?
ЗЫ: кто какие анализаторы логов под exim использует?
я нашел не плохой exibomb, но может есть получше?
пишет в лог заголовки сообщений но в какой то хитрой кодировке, к примеру вместо слова тест в логе \362\345\361\362
как побороть?
если нельзя побороть как эту сроку перекодировать на лету для дальнейшего помещения в mysql ?
ЗЫ: кто какие анализаторы логов под exim использует?
я нашел не плохой exibomb, но может есть получше?
Услуги хостинговой компании Host-Food.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/
Тарифы на виртуальные сервера (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
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
пробовал - кусок исходной строки из mainlog T="\362\345\361\362"lissyara писал(а):а писать логи сразу из exim`a в БД не пробовал?
тогда какая кодировка?
в БД получаеться 362345361362
Сейчас исхал инфу по этому поводу, вот что советуют
use MIME::Base64;
...
$subj="сабжевый текст...бла-бла";
$subj="=?Windows-1251?B?".encode_base64($subj);
chomp $subj;
$subj.="?=";
но думаю не прокатит тк если даже заработает то будет менять ВСЮ строку не в зависимомти от наличия английских символов
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
нет. ты не понял. писать прям из самого exim`a в БД.
просто добавить запрос типа
в конфиг... в конце acl_check_data....
====
И кстати - exim тоже умеет преобразовывать строку - http://exim.org/exim-html-4.62/doc/html ... /ch40.html - тока надо разбираться как достать то что надо...
просто добавить запрос типа
Код: Выделить всё
set acl_m6 = ${lookup mysql{INSERT INTO `stat` SET \
XFrom='${sender_address}', \
XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \
Subj='$h_subject:'}}
====
И кстати - exim тоже умеет преобразовывать строку - http://exim.org/exim-html-4.62/doc/html ... /ch40.html - тока надо разбираться как достать то что надо...
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
самое простое - очевидноеlissyara писал(а):нет. ты не понял. писать прям из самого exim`a в БД.
просто добавить запрос типав конфиг... в конце acl_check_data....Код: Выделить всё
set acl_m6 = ${lookup mysql{INSERT INTO `stat` SET \ XFrom='${sender_address}', \ XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \ Subj='$h_subject:'}}
====
И кстати - exim тоже умеет преобразовывать строку - http://exim.org/exim-html-4.62/doc/html ... /ch40.html - тока надо разбираться как достать то что надо...
так отрабатывает на ура
для удобства добавил еще дату время
Большой респект за совет
ЗЫ - вот еще нарыл неплохую инфу по эксиму
http://bog.pp.ru/work/exim.html
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- проходил мимо
угу - все работаетlissyara писал(а):ну так как получилось-то?
сейчас долблюсь с ip отправителя не могу въехать в какой переменной он содержиться
и переписываю\обрезаю ненужное в exibomb для работы с такой базой, вроде удобоваримо получаеться.
и во еще вопрос, по товему имхо - exim на такой конфигурации VPS - 256 памяти, 1000 проц - не захлебнеться если за сутки 10 000 писем ? кроме почты, ни чего по большому счету там нету.
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
Раскладывать в основном.lissyara писал(а):вообще на нагруженных серверах принято такие сервисы выносить на отдельные машины (кламав и спамассасин).
P.S. Памяти бы поболей... И с почтой он что делать будет, кстати? сам по майлдирам раскладывать или отдавать кому?
спамассасин пока не планируеться - слава богу спама нет практически.
а то что есть по прикидкам exim внутренними средствами резать будет.
а вот сламав - ессено надо.
но поживем - увидим как работать будет, я когда говорил за 10 000 в сутки - это планируеться через год, пока 15-20 тысяч. даже сендмайл спавляеться (сламав прикручен).
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
ты непонял
exim может сам класть в maildir - как например с courier-imap.
а может отдавать программе, осуществляющей раскладывание, как с dbmail, dovecot, cyrus. C dovecot - можно раскладывать средствами exim (что вызывает проблемы на боле-мене нагруженном сервере - даже на паре тыщ писем с день), а можно при помощи deliver - что кстати, правильней.
Если раскладывает отдельная программа - это дополнительная нагрузка, ибо она в большинстве (может и во всех случаях) случаев запускается на каждое письмо
exim может сам класть в maildir - как например с courier-imap.
а может отдавать программе, осуществляющей раскладывание, как с dbmail, dovecot, cyrus. C dovecot - можно раскладывать средствами exim (что вызывает проблемы на боле-мене нагруженном сервере - даже на паре тыщ писем с день), а можно при помощи deliver - что кстати, правильней.
Если раскладывает отдельная программа - это дополнительная нагрузка, ибо она в большинстве (может и во всех случаях) случаев запускается на каждое письмо
Убей их всех! Бог потом рассортирует...
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Anonymous писал(а):сейчас долблюсь с ip отправителя не могу въехать в какой переменной он содержитьсяlissyara писал(а):ну так как получилось-то?
Код: Выделить всё
$sender_host_address
$host_address
$sender_host_name
..............
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
это я прогнал с недосыпуlissyara писал(а):ты непонял
сейчас пока не тестовом серваке раскладывает exim.
надо будет передать. хотя скриптом с друго сервера засандалил 2 000 гдето за час.
(а VPS ОЧЕНЬ слабенький 500проц +96 памяти) - особой нагрузки небыло, хотя кламав еще не прикручен. надо буде повторить уже с ним и глянуть как реагировать будет.
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
- Za...
- мл. сержант
- Сообщения: 105
- Зарегистрирован: 2006-08-18 14:18:15
- Откуда: Север России
- Контактная информация:
Re: exim - кодировка в mainlog
Exilog, работает с мускулом, написан на перле, сидит в процессах и парсит лог файл ексима и кидает все в базу, также есть гуик тоже перловский, все красиво показываетrobi писал(а):exim если включить log_selector = +all
пишет в лог заголовки сообщений но в какой то хитрой кодировке, к примеру вместо слова тест в логе \362\345\361\362
как побороть?
если нельзя побороть как эту сроку перекодировать на лету для дальнейшего помещения в mysql ?
ЗЫ: кто какие анализаторы логов под exim использует?
я нашел не плохой exibomb, но может есть получше?
Стою в очереди За... булкой и кефиром
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
долго и нудно читал http://www.lissyara.su/?id=1211
и один хрен не въехал
сказано:Если поиск успешен, “<string1>” раскрывается и замещает весь элемент
пытаюсь сделать
Где я протупил?
ЗЫ - смысл сего действа исключить некотрые домены из статистики
и один хрен не въехал
сказано:
Код: Выделить всё
${lookup <search type> {<query>} {<string1>} {<string2>}}
пытаюсь сделать
Код: Выделить всё
set acl_m6 = ${lookup mysql \
{SELECT `domain` FROM `domain` WHERE \
`domain`=`${qualify_domain}` AND`log`= `1`}
{INSERT INTO `stat` SET \
XFrom='${sender_address}', \
XTo=REPLACE('${recipients}',', ','\n'), Size=${message_size}, \
Subj='$h_subject:'}}
ЗЫ - смысл сего действа исключить некотрые домены из статистики
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
сам не пробовал, но мона примерно так:
Код: Выделить всё
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:'}}
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
так не завелось, понять почему - еще не хватает опыта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
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
auth_login:
driver = plaintext
Код: Выделить всё
error in ACL: unknown ACL condition/modifier in "if $domain is "${lookup mysql{SELEC и тд
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
ты куда всё это пихаешь-то? в какую секцию?robi писал(а):так не завелось, понять почему - еще не хватает опыта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:'}}
попробовал нарисовать более понятную для себя контрукцию
вот кусок конфига :теперь exim Ругаеться при запускеКод: Выделить всё
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 auth_login: driver = plaintext
Код: Выделить всё
error in ACL: unknown ACL condition/modifier in "if $domain is "${lookup mysql{SELEC и тд
Убей их всех! Бог потом рассортирует...
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2006-08-17 21:46:31
- Alex Keda
- стреляли...
- Сообщения: 35466
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Код: Выделить всё
auth_login:
driver = plaintext
Убей их всех! Бог потом рассортирует...