Страница 1 из 1
Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 13:33:25
Andy2k
Заранее извиняюсь, если это вопрос из ЧАВО.
Есть связка Exim+dovecot
Мне нужно организовать рассылку информационных сообщений сразу для всех учетных записей электронной почты.
Подскажите, каким образом это сделать?
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 13:49:44
Agronom
поставить majordomo, создать лист рассылки (можно формировать в БД и записывать в файл) и рассылать
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 14:25:30
Andy2k
А попроще (без majordomo), средствами exim никак?
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 14:52:45
dikens3
У меня через роутер:
Код: Выделить всё
# Рассылка
all_mysql:
driver = redirect
allow_fail
allow_defer
condition = ${if eq{$local_part}{all}{yes}{no}}
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 14:53:50
Morty
если по статье exim+dovecot
в вэб админке есть создание алиасов. можешь попробовать оттуда.
у меня "рассылки" маленькие до 10 чел. т.е. алиас
admins@domain.com -> admin1@ admin2@ admin3@
но есть 2 гдето на 70 адрессов , работают и те и те. можно попробовать там же сделать аля
all@domain.com -> *@domain.com
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 15:40:04
Andy2k
dikens
А можно подробнее?
Добавить роутер в том виде, как ты написал в конфиг exim и слать почту на all@<мой_домен.ru>, верно?
Или еще что-то нужно?
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 16:08:23
dikens3
Хех, зыбыл немного:
Код: Выделить всё
# Список всех 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}}
Всё. :-)
У меня стоит перед последним роутером(который для пользователей). Больше ничего не нужно.
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 18:40:38
Andy2k
dikens
Адаптировал sql для своей базы - все отлично работает, большое спасибо.
Еще вопрос - можно ли как-то менять поле "To:" чтобы в нем вместо
all@mydomen.com подставлялся адрес получателя?
А то некоторые "умники" таки умудряются писать по этому адресу письма

Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 21:08:28
dikens3
Не пробовал, но у меня тоже такие попадаются, потом я им объясняю и всё путём.
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 21:10:10
Alex Keda
перезапись на входе.
или проверка что отправителю разрешено стать на этот адрес.
у меня так сделано.
иначе, чисто случайно, 600 человек могут огрести письма

Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-18 21:11:11
dikens3
lissyara писал(а):перезапись на входе.
или проверка что отправителю разрешено стать на этот адрес.
у меня так сделано.
иначе, чисто случайно, 600 человек могут огрести письма

Ну да, ограничить список тех, кто может отправлять на этот E-mail.
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-19 8:09:14
Andy2k
Уважаемый Лиссяра - не утаи, расскажи, как сделать такие проверки. Плиз!
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-19 10:22:59
Alex Keda
для какой конфигурации?
я под лдап делал.
тока вот найти чё-то немогу на форуме - хотя точно выкладывал

((
Re: Exim: как отправить письмо сразу всем пользователям
Добавлено: 2007-10-19 11:22:28
dikens3
Я в прикреплённой теме уже приводил пример, как сделать проверку E-Mail отправителя.
Можно сделать примерно так:
У меня все пользователи ещё и аутентифицированные. :-)
Код: Выделить всё
accept authenticated = *
condition = ${if and{{!eq{$authenticated_id@mydomain.ru}{$sender_address}} \
{!eq{$authenticated_id@mydomain2}{$sender_address}}}{yes}{no}}
local_parts = all
остальных прибиваем: