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

Список рассылки средствами Exim

Добавлено: 2008-06-03 11:48:47
Laa
Здравствуйте!
Нужно сделать список рассылки максимально просто, возможно средствами Exim.
Есть список addresslist-ов, в которых указаны emails получателей и допустимых отправителей.
Но exim ругается что у него предел в 14 таких adresslists :?
Ткните меня носом где почитать как такое сделать.

Re: Список рассылки средствами Exim

Добавлено: 2008-06-03 13:25:38
dikens3

Re: Список рассылки средствами Exim

Добавлено: 2008-06-03 16:44:53
Laa
У меня в директории /dir/ лежат файлы с е-мылами, например:
/dir/buhg -- файл с е-мылами получателей рассылки, а в /dir/buhg.acl лежат е-мылы разрешенным отправителей.
Соответственно рассылка называется buhg@$domain, и таких рассылок несколько.

Сделал:
maillist2:
driver = redirect
file = /dir/$local_part
senders = /dir/$local_part.acl
no_check_local_user
errors_to = postmaster

Похоже что в senders ошибся и письма не доходят, уходят в другой роутер.
Понимаю что туплю, не могу допереть как сделать чтобы работала моя схема.

Re: Список рассылки средствами Exim

Добавлено: 2008-06-04 12:23:52
dikens3
В полезных скриптах есть примеры для отладки - пользуйся.

Re: Список рассылки средствами Exim

Добавлено: 2008-06-05 10:11:38
Laa
Сделал роутер:
maillist2:
driver = redirect
local_parts = buhg : buhg2
data = /dir/$local_part
senders = /dir/$local_part.acl
errors_to = postmaster
file_transport = address_file
allow_fail
allow_defer
user = mailnull
group = mail

и получил не то что нужно:
Jun 5 10:04:59 unix01 exim[51111]: 2008-06-05 10:04:59 1K49Wm-000DHe-5o => /dir/buhg <buhg@domain.com> R=maillist2 T=address_file QT=7s DT=0s

а на самом деле надо чтобы письмо попало получателям, перечисленным в файле /dir/buhg .
Где я туплю?

Re: Список рассылки средствами Exim

Добавлено: 2008-06-05 13:25:59
Laa
Сделал вот так и заработало:

maillist2:
driver = redirect
local_parts = buhg : buhg2 : etc
domains = domain.com
file = /dir/$local_part
senders = /dir/$local_part.acl
errors_to = postmaster
forbid_pipe
forbid_file
no_more

Пример нашел в оффиц. FAQе :twisted: !

Re: Список рассылки средствами Exim

Добавлено: 2008-06-06 13:17:13
ZejroN
Вот так удобней будет.ИМХО
Стоит самым последним роутером, после проверки локальных пользователей. Если файл с именем списка существует, то расслылается на адреса которые в нем

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

rassylka:
  driver = redirect
  local_parts = dsearch;/etc/exim/lists/
  require_files = /etc/exim/lists/$local_part
  senders = /etc/exim/lists/$local_part 
  domains = +local_domains
  file = /etc/exim/lists/$local_part
  forbid_pipe
  forbid_file
  errors_to = posmaster

Re: Список рассылки средствами Exim

Добавлено: 2008-06-06 13:39:04
Laa
Интересная идея с dsearch !
Но у вас множество получателей равно множеству отправителей.

Спасибо за идею.

Re: Список рассылки средствами Exim

Добавлено: 2008-06-06 13:48:25
ZejroN
Именно так. Рассылать по списку могут только те кто на него подписан - тобишь есть в фалиге :)

Re: Список рассылки средствами Exim

Добавлено: 2008-06-07 12:07:31
ZejroN
Столкнулся с такой проблемой - если приходит письмо на адрес которого нет в пользователях, то идет обработка по роутеру рассылки
Если есть файл с таким именем все ок. Но если файла нед он не отфутболивает письмо.
В лог пишет

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

 failed to open /etc/exim/lists/dd when checking "/etc/exim/lists/$local_part": No such file or directory
Письмо пришло на адрес dd@mydomain.lan 
Как сделать что если файла не нашел - то сказал мол нед такого получателя.

Re: Список рассылки средствами Exim

Добавлено: 2008-06-07 12:37:03
Alex Keda

Re: Список рассылки средствами Exim

Добавлено: 2008-06-07 13:04:55
ZejroN
Это не помагаед.
Вод собственно роутер

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

rassylka:
  driver = redirect
  local_parts = dsearch;/etc/exim/lists/
#  require_files = /etc/exim/lists/$local_part
  senders = /etc/exim/lists/$local_part
  domains = +local_domains
  file = /etc/exim/lists/$local_part
  forbid_pipe
  forbid_file 
  errors_to = posmaster
Когда делаем exim -bt user@mydomain.lan получаем ответ - user@mydomain.lan is undeliverable: Unrouteable address (Такого адреса нед в пользователях и файла такого в /etc/exim/lists/ тоже нед) Получаем нормальный ответ
Но когда нормально приходит письмо на такой адрес (любой которого нед в пользователях и нед такого файла со списком) exim пишет в лог
Jun 7 13:49:47 mail exim[4960]: failed to open /etc/exim/lists/maskalev when checking "/etc/exim/lists/$local_part": No such file or directory
Провери телнетом :
220 mail.mydomain.lan, ESMTP EXIM 4.69
EHLO mail.mydomain.lan
250-mail.mydomain.lan Hello mail.mydomain.lan [192.168.111.80]
250-SIZE 25165824
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
MAIL FROM:alex@mydomain.lan
250 OK
RCPT TO:user@mydomain.lan
421 Unexpected failure, please try later

Собственно как сделать что если нед файла, то он не обрабатывал роутер?

Re: Список рассылки средствами Exim

Добавлено: 2008-06-07 13:08:15
Alex Keda

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

#  require_files = /etc/exim/lists/$local_part

Re: Список рассылки средствами Exim

Добавлено: 2008-06-07 13:17:41
ZejroN
Огромный пасиб!
Чет я затупил :) Сам же зачем-то закоментил ......