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

список доменов

Добавлено: 2010-06-24 13:58:31
ban
В начале сосредотачения над конфигурационным файлом Exim.
И сразу же в тупик меня поставило то, что у кого не глянь у всех ошибка в конфиге.

Все началось с того, что я почитал 11.9 Переменные раскрытия, в частности о том, что есть переменная $domain и во что она расскрывается.

--------------------------------------
Список ошибочных выборок (по-моему неавторитетному мнению):
Красным цветом выделена часть условия запроса к БД, которая как мне кажеца ошибочна.

Март 2005, версия ginger:
domainlist local_domains = @ : @[] : localhost : MAILNAME : ${lookup mysql{SELECT domain FROM domains WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}
Январь 2006, версия из журнала сисадмин, автор Павел Семенец:
domainlist local_domains = ${lookup mysql{SELECT domain FROM domains WHERE domain='${domain}' AND (type='LOCAL' OR type='VIRTUAL')}}
Июль 2008, версия уважаемого Aleksey L Keda (со статьи exim + dovecot):
domainlist local_domains = ${lookup mysql{SELECT `domain`FROM `domain` WHERE `domain`='${domain}' AND `active`='1'}}
--------------------------------------

Если предположить, что в момент начала обработки письма, Exim перечитывает конфиг и составляет список local_domains, то в этом случае в переменную local_domains в идеале возвратится результат не более чем с одним доменом и НИКОГДА не будет возвращен список доменов..... Т.е. включение в условие запроса строки `domain`='${domain}' - катастрофически не правильно :)
Мне даже страшно за почтари, которые работают на конфиге с такой выборкой за списком локальных доменофф.
============================

Размышления мои пока чисто теоретические, до первого пробного запуска экзима осталось 1-3 дня.
Пока считаю, что олень все-таки я, ибо как говорит Леночка: "Миллион мух не могут ошибатЬся".....
Поэтому опровергните пожалуйста кто понимает о чем я речь веду и кому не положитЬ....

Re: список доменов

Добавлено: 2010-06-24 14:02:39
hizel
америку типа открыл http://forum.lissyara.su/viewtopic.php? ... 53&start=0

Re: список доменов

Добавлено: 2010-06-24 14:22:43
_Менделеев
эт че получаеца... я не Олень?.... :cz2: медиана между Побухать и НЕ Побухать резко сместилась в сторону Побухать

еще какие-то tr и sg..... как все сложно....

дядя hizel категорически благодарю за направление, выпей водки.

Re: список доменов

Добавлено: 2010-06-24 14:24:19
hizel
все забываю экий ты петросян и что помогать тебе не надо

Re: список доменов

Добавлено: 2010-06-24 14:28:41
_Гагарин
эт почему же не надо?
сранно...
я же спросил номально вроде, развернуто спросил. Пока спрашивал меня не отпустило, если бы отпустило, то я значит сам бы догадался, а раз я нажал отправить, значит вопрос у меня остался.
И если это в твоих силах, то почему бы не помочЬ человеку.

Хотя... а че Хотя-то?..

Re: список доменов

Добавлено: 2010-06-24 23:51:35
dikens3

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

# Список доменов
MYSQL_DOMAINS           = SELECT domain FROM domain WHERE transport = 'virtual' AND active='1'

# Наши домены ( @ - домен нашего компьютера)
domainlist local_domains = @ : ${sg{${lookup mysql{MYSQL_DOMAINS}}}{\n}{:}}
Я вообще думал что у меня баг с sender_domains
http://forum.lissyara.su/viewtopic.php? ... 26&start=0
Вообще все, кто копается с Exim, всегда находят такую проблему, что приятно.
Мне даже страшно за почтари, которые работают на конфиге с такой выборкой за списком локальных доменов.
Не переживайте, там всё нормально работает, кроме sender_domains.

Re: список доменов

Добавлено: 2010-06-25 0:10:23
hizel
при таком кол-ве скобочек и правил раскрытия почему Гейзел не уклонился окончательно в функциональщину, хотя бы лямбды воткнул :)

Re: список доменов

Добавлено: 2010-06-28 7:49:55
_Гагарин
думаю, но вот правильный же конфиг... никаких domain='${domain}' нет, все ништяк
а письма в локальный домен reject'яца

запустил так:

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

exim -d bt ящик@локльный
и вижу, что когда выборка вернула список моих локальных доменов (каждый с новой строки) - exim не нашел локальный домен в списке, в котором он был :)

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

вот за это:
dikens3 писал(а):

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

domainlist local_domains = @ : ${sg{${lookup mysql{MYSQL_DOMAINS}}}{\n}{:}}
огромное спасибо. съэкономил мне мыслительную электроэнергию