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

Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-23 9:00:30
Цыс
Имеется сервер на базе фрибзд 7.2, экзим и постгре. Требуется настроить эту систему чтобы при отправке на all@mydomain.ru все пользователи получили это письмо. Задача простая, но осложняется тем что у меня постгре. Для майскюэля нагуглил инструкцию но адаптировать ее к своей ситуации у меня ума не хватило.

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

# Список всех E-Mail адресов для рассылки по адресу all
MYSQL_ALL      = SELECT CONCAT(username,"@",domain) FROM users
# Рассылка
all_mysql:
  driver = redirect
  allow_fail
  allow_defer
  condition = ${if eq{$local_part}{all}{yes}{no}}
  data = ${lookup mysql{MYSQL_ALL}}
Через файл aliases фокус типа all: *@mydomain.ru не прокатил. Как мне это реализовать с наименьшими потерями? Организация большая и сервак боевой. Его простой более 10-15 минут мне с рук не сойдет т.е. искать решение путем долгих экспериментов возможности нет :). Заранее спасибо.

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-23 11:32:33
Alex Keda
конфиг покажите.
в общем - должно и так работать

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-23 12:15:56
dikens3
Тупо копировать не стоит, скорее всего у вас таблица другая или данные там другие.
Приведите строку какую-нибудь из postrgesql где ваши пользователи, а запрос можно и поправить.

Рекомендую сделать ограничение для некоторых отправителей на адрес ALL, т.к. особо тупые пользователи начинают писать ответ (а отправитель ALL), и ответ опять попадает ко всем пользователям. Либо правьте отправителя/получателя для решения этой проблемы.

Смысла сервак останавливать нет, есть отладка (в тех же полезных скриптах). Добавьте роутер и запустите отладку. Реальной доставки не будет.

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-23 13:20:03
Цыс
База называется exim. Таблица с пользователями accounts. Поле с логином login. Логины в формате vasiliypupkin@superfirma.ru. Полагаю, эти данные были нужны. Домен всего один, такчто поля domain там нет. Как добыть прям строку из этой таблицы честно говоря не знаю :pardon: пытался найти чтото типа админки от базы в консоли но безуспешно...

Насчет конфига - я ж в нем еще ничего не менял дабы не валять сервак... такчто там ничего относящегося к теме еще нету.

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-23 21:38:34
dikens3

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

# Список всех E-Mail адресов для рассылки по адресу all
MYSQL_ALL      = SELECT login FROM accounts

# Рассылка
all_mysql:
  driver = redirect
  allow_fail
  allow_defer
  domains = +local_domains   <-- если есть такая переменная
  condition = ${if eq{$local_part}{all}{yes}{no}}
  data = ${lookup mysql{MYSQL_ALL}}

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-24 10:57:56
Цыс
Попробовал этот конфиг. Письмо на адрес all@domain.ru уходит, сервак ошибок не возвращает, но оно никуда не приходит. Вставил это все после
begin routers. Я же правильно все понял?

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-24 11:21:19
Цыс
Лог экзима говорит следующее:
R ==all_mysql defer (-1): failed to expand "${lookup mysql{SELECT login FROM accounts}}": lookup type "mysql" is not available (not in the binary - check buildtime LOOKUP configuration)

Может не mysql а чтото типа pgsql надо??

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-24 12:24:16
dikens3
Может не mysql а чтото типа pgsql надо??
ну да, логично.

P.S. Я бы всё-таки рекомендовал вам нанять админа.

Re: Exim+Postgre all@mydomain.ru

Добавлено: 2010-06-24 12:36:06
Цыс
Поменял mysql на pgsql все сработало. Спасибо! А насчет нанять админа - может в ваших глазах я и не достоин носить это гордое звание, но я - он и есть. По крайней мере, я продолжаю работать над собой и доставать глупыми вопросами всяких гуру вроде вас ;-)