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

Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-08 5:43:20
im
Извините, но почему эта тема оказалась закрыта?
Мне, например, все равно не понятно зачем надо использовать такое кэширование?
То есть для каждого нового домена, который может по какому либо недоразумению (мало ли что взбредет в голову этим спамерам :) "всплывет" во входящем письме, будет происходить новый запрос к базе?
Почему нельзя достать сразу все обслуживаемые домены в список?

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

domainlist local_domains = ${sg{${lookup mysql{SELECT `domain` \
                            FROM `domain` WHERE
                            `active`='1'}}}{\n}{:}}
2008.09.15: поправил код - убрал строчку: `domain`='${domain}' AND \
Так должно было быть с самого начала. Извиняюсь: был невнимателен.

Re: Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-08 8:59:30
Alex Keda
большая часть писем идёт на одного адресата.

Re: Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-08 9:25:33
im
lissyara писал(а):большая часть писем идёт на одного адресата.
На один домен? А зачем в таком случае SQL? Ну можно конечно предположить что для единообраия :)
А если у меня их много?
PS. Я спрашиваю, потому, что часто вижу такой код.
И даже в том-же векзиме, который сам использую.

Re: Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-08 10:01:59
Alex Keda
лучше объясни с какой целью тебе это надо
идёт письмо адресату, проверяется есть ли такой доменю.
чего непонятного? =)

Re: Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-08 11:53:36
dikens3
Почему нельзя достать сразу все обслуживаемые домены в список?
Кто это сказал? Можно пользоваться exim без mysql, postgresql, ldap и т.п. Что мешает то? Сделай как тебе нравится.

Re: Exim и вопросы по примерам (продолжение)

Добавлено: 2008-09-09 8:32:39
im
lissyara писал(а):лучше объясни с какой целью тебе это надо
идёт письмо адресату, проверяется есть ли такой доменю.
чего непонятного? =)
Ок. Вот я нашел зачем мне это надо :)

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

 sender_domains = +local_domains 
используется в ACL, который должен срабатывать для отправителей из моих (локальных) доменов.
При тестировании этого условия в $domain совсем не домен отправителя.

PS. Вот полный код ACL, только не гарантирую что он всегда правильно работает.
Я его только что написал :)

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

.ifdef USE_SENDED_LIST
  warn
    # Только для обслуживаемых хостов
    hosts = +relay_from_hosts
    # И если отправитель из локального домена
    sender_domains = +local_domains
    # А получатель - нет
    domains = !+local_domains
    condition = SENDED_LIST_UPDATE
    logwrite = SENDED-LIST-UPDATE: $sender_address => $local_part@$domain
.endif
Конечно здесь было много примеров для реализации подобных списков, но они мне не подошли.

PPS. Мне понятно как оно проверяется. Особенно теперь.
Мне не понятно ЗАЧЕМ ТАК проверять.
Обычно это выглядит как "злобный хак", и отказывается работать (или неправильно работает) при использовании в других местах. Поэтому я и спрашиваю... Ладно спрошу по-другому: есть ли какие-то преимущества в таком способе?
(Уточняю: когда вместо возвращения списка доменов, происходит преждевременная скрытая проверка на принадлежность домена получателя к этому списку. Эээ.. Вот загнул. Ну ладно: самому вроде понятно... :))
Пасиб за замечание к первому посту - не сразу заметил.
dikens3 писал(а):
Почему нельзя достать сразу все обслуживаемые домены в список?
Кто это сказал? Можно пользоваться exim без mysql, postgresql, ldap и т.п. Что мешает то? Сделай как тебе нравится.
Мне нравится использовать exim с mysql, postgresql, ldap :)
Хотелось-бы использовать правильно.