The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Общая рассылка EXIM+PostgreSQL"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Почта / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Цыс email(ok) on 22-Июн-10, 17:39 
Имеется сервер на базе фрибзд 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 минут мне с рук не сойдет т.е. искать решение путем долгих экспериментов возможности нет :). Заранее спасибо.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от PavelR (??) on 22-Июн-10, 18:28 
>[оверквотинг удален]
>  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 минут мне с рук не сойдет т.е. искать решение
>путем долгих экспериментов возможности нет :). Заранее спасибо.

поставь где-нибудь приближенную копию сервака для отладки/экспериментов.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от danunah on 22-Июн-10, 21:52 
SELECT username || "@" || domain FROM users
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Цыс email(ok) on 23-Июн-10, 09:43 
>SELECT username || "@" || domain FROM users

Пожалуйста объясните поподробнее в каком месте и каким образом это использовать. Я так краем мозга подозреваю, что это необходимая модификация конфига для майскюэль под постгре... Но хотелось бы поточнее


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Александр (??) on 23-Июн-10, 11:06 
из серии дешево и сердито
написать скрипт, который выбирает из базы все действующие адреса
потом этот список использовать, как алиас для all
на первое время проблему решит, а там уже можно будет
найти и более приличное решение

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от SubGun (ok) on 23-Июн-10, 11:12 
MYSQL_ALL      = SELECT CONCAT(username,"@",domain) FROM users WHERE username != ''
Убрать
condition = ${if eq{$local_part}{all}{yes}{no}}
Поставить
domains = mydomain.ru
Но не факт, что выйдет. Дело в том, что результатом запроса будут просто данные, а надо бы их разделить запятыми и поставить в строчку. Так что только через all: user1,user2,user3

Установи себе mailman и свяжи его с Exim.
1. Добавление/удаление пользователей через mailman гораздо проще, чем дергать через aliases.
2. Существует ограничение по RFC на кол-во recipients. mailman же генерирует отдельное письмо каждому получателю.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Цыс email(ok) on 23-Июн-10, 11:27 
>[оверквотинг удален]
>Поставить
>domains = mydomain.ru
>Но не факт, что выйдет. Дело в том, что результатом запроса будут
>просто данные, а надо бы их разделить запятыми и поставить в
>строчку. Так что только через all: user1,user2,user3
>
>Установи себе mailman и свяжи его с Exim.
>1. Добавление/удаление пользователей через mailman гораздо проще, чем дергать через aliases.
>2. Существует ограничение по RFC на кол-во recipients. mailman же генерирует отдельное
>письмо каждому получателю.

Очень интересная тема, так как в дальнейшем хотелось бы иметь и другие списки рассылки типа директора филиалов и тп. Я так понял ставится прямо на сервак да? А список all сможет сформировать сама из уже имеющейся базы? Или надо будет добавлять руками? Ибо получателей адское количество в районе 666 :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от SubGun (ok) on 23-Июн-10, 11:53 
>Очень интересная тема, так как в дальнейшем хотелось бы иметь и другие
>списки рассылки типа директора филиалов и тп. Я так понял ставится
>прямо на сервак да? А список all сможет сформировать сама из
>уже имеющейся базы? Или надо будет добавлять руками? Ибо получателей адское
>количество в районе 666 :)

Особенно если вы планируете много списков рассылки. Ставится элементарно, надо лишь пару действий выполнить, описанных здесь
http://list.org/mailman-install/site-list.html
и здесь
http://list.org/mailman-install/node44.html
Вяжется с Exim через здесь
http://list.org/mailman-install/node16.html

Списки рассылки формируете вы, благо адреса можно добавлять скопом. Так же, это можно автоматизировать через скрипт. Благо управлять mailman можно не только через веб-интерфейс, но и через shell.
У меня 17 списков рассылки в 6 доменах. Очень доволен.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Цыс email(ok) on 23-Июн-10, 14:04 
Вобщем, пока что ситуацию спас AD и net send * . Но на будущее хочется иметь чтото более надежное. Майлман попробовал поставить у себя на рабочем месте на убунту. Но он отказался пахать, полагаю из-за отсутствия почтового сервака у меня на машине)). Но в связи с этим возникла мысль, быть может есть какие-то решения, которые можно поставить не на сервак, а себе, а они бы зная скажем адрес сервака, логин и пароль от базы могли бы подключиться к нему и получить с него список адресов для рассылки? Типа того как работает лдап... А потом выбрав всех с @ в адресе, замутить рассылку всем, или всех у кого dir в адресе добавить в список рассылки директорам...


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от SubGun (ok) on 23-Июн-10, 14:49 
>[оверквотинг удален]
>на будущее хочется иметь чтото более надежное. Майлман попробовал поставить у
>себя на рабочем месте на убунту. Но он отказался пахать, полагаю
>из-за отсутствия почтового сервака у меня на машине)). Но в связи
>с этим возникла мысль, быть может есть какие-то решения, которые можно
>поставить не на сервак, а себе, а они бы зная скажем
>адрес сервака, логин и пароль от базы могли бы подключиться к
>нему и получить с него список адресов для рассылки? Типа того
>как работает лдап... А потом выбрав всех с @ в адресе,
>замутить рассылку всем, или всех у кого dir в адресе добавить
>в список рассылки директорам...

Mailman ставится легко. Выбрать из базы пользователей и засунуть их в mailman нет ничего проще:
echo 'SELECT CONCAT(username,"@",domain) FROM users WHERE username !=``' | mysql -u user -ppassword database > /usr/mailman/bin/add_members list

Честно говоря, это самое простое, что может быть.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от Цыс email(ok) on 24-Июн-10, 13:40 
# Список всех 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 pgsql{MYSQL_ALL}}

Сделал вот так. Все работает. Спасибо dikens3 с forum.lissyara.su. Всем спасибо за участие!


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "Общая рассылка EXIM+PostgreSQL"  +/
Сообщение от tux2002 email(ok) on 25-Июн-10, 14:06 
>  condition = ${if eq{$local_part}{all}{yes}{no}}

замените на
local_parts = all
Это прозрачнее чем кондишн.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру