Помогите написать роутер в EXIM.
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Помогите написать роутер в EXIM.
Есть два внутренних почтаря обслуживающих один домен.
Как написать роутер, который бы письма для конкретных ящиков перечисленных в файле-списке направлял на специальный сервер, а всю остальную почту на домен к основному почтарю.
Надеюсь задал вопрос доходчиво.
Спасибо.
Как написать роутер, который бы письма для конкретных ящиков перечисленных в файле-списке направлял на специальный сервер, а всю остальную почту на домен к основному почтарю.
Надеюсь задал вопрос доходчиво.
Спасибо.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Помогите написать роутер в EXIM.
Копирование или перенаправление?
По полезных скриптах есть роутер для копирования всей почты, можете добавить в него нужное вам условие.
А вообще, что не получилось?
http://www.lissyara.su/doc/exim/4.62/th ... ct_router/
По полезных скриптах есть роутер для копирования всей почты, можете добавить в него нужное вам условие.
А вообще, что не получилось?
http://www.lissyara.su/doc/exim/4.62/th ... ct_router/
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
Re: Помогите написать роутер в EXIM.
Мне нужно перенаправление.
Пример:
recipient-to: vasya-pupkin@example.com
example_com_route:
если vasya-pupkin@example.com в списке ( файле ) или в LDAP
manualroute example.com 192.168.0.2
example_com_route:
manualroute example.com 192.168.0.3
Пример:
recipient-to: vasya-pupkin@example.com
example_com_route:
если vasya-pupkin@example.com в списке ( файле ) или в LDAP
manualroute example.com 192.168.0.2
example_com_route:
manualroute example.com 192.168.0.3
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Помогите написать роутер в EXIM.
ну так попробуй..
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
Re: Помогите написать роутер в EXIM.
Так я бы попробовал. Я не пойму никак название команды.
Что нужно прописать?
просто я прошу ткнуть меня в механизм через который это сделать правильно.
опции rsipients я в роутере не нашел и думаю exim меня не поймет...
Что нужно прописать?
Код: Выделить всё
#как должен выглядеть роутер перед умолчальным на домен?
special_route:
driver = manualroute
# domains = ! +local_domains
resipients = /usr/local/etc/exim/special_recipients_list # <- вот так что-ли указать? так не работает :)
transport = remote_smtp
route_list = example.com 192.168.1.2
#вот роутер на домен по умолчанию
example_route:
driver = manualroute
domains = ! +local_domains
transport = remote_smtp
route_list = example.com 192.168.1.3
опции rsipients я в роутере не нашел и думаю exim меня не поймет...
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Помогите написать роутер в EXIM.
Exim очень просто в понимании. Смотрите как устроен роутер.
Сначала его нужно назвать, например:Далее нужно определиться, что он должен делать, например:Далее думаем в каких случаях он будет срабатывать.
Например у нас есть файл с пользователями в виде:
Если полистать документацию, найдём там:Нам требуется использовать поиск в файле. Ищем в документации как сделать какой-либо поиск. Найдя поиск который нам подходит (или переделав файл источник под один из них), создаём условие.Далее определяемся с транспортом/дополнительными опциями и т.п.Вообще поиск можно наверное сразу в route_list засунуть.
С поиском не знаю, будет работать или нет, попробуй. Я не помню уже что и как там.
Итого:
Сначала его нужно назвать, например:
Код: Выделить всё
special_route:
таким образом получаем:Роутер “manualroute” назван таким образом потому что он предоставляет возможность “ручной” маршрутизации (manual routing) адреса в соответствии с его доменом.
Код: Выделить всё
driver = manualroute
Например у нас есть файл с пользователями в виде:
Код: Выделить всё
user1@example.com
user2@example.com
user3@example.com
...
Значит следующая строка будетcondition routers‡ string† незадана
Эта опция определяет главный тест предварительного условия, который должен быть успешным, для вызова роутера. Опция “condition” - последнее предварительное условие, для оценки (смотрите раздел 3.12). Строка раскрывается, и если результат принудительно неудачен, или пустая строка, или одна из строк “0”, или “no”, или “false” (проверяется без учёта регистра), роутер пропускается, и адрес предлагается следующему.
Если результат - любое другое значение, роутер запускается (поскольку это - последнее предварительное условие для оценки, все другие предварительные условия должны быть истинными).
http://www.lissyara.su/doc/exim/4.62/ge ... r_routers/
Код: Выделить всё
condition = условие, которое проверяет требуемые E-Mail'ы.
Код: Выделить всё
condition = ${lookup{$local_part@$domain}lsearch{/путь/файл_со_списоком_пользователей}}
Код: Выделить всё
route_list = example.com 192.168.1.2
transport = remote_smtp
С поиском не знаю, будет работать или нет, попробуй. Я не помню уже что и как там.
Итого:
Код: Выделить всё
special_route:
driver = manualroute
condition = {${lookup{$local_part@$domain}lsearch{/путь/файл_со_списоком_пользователей}}{Yes}{No}}
route_list = example.com 192.168.1.2
transport = remote_smtp
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
- Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Re: Помогите написать роутер в EXIM.
попробуйRoman B писал(а):Так я бы попробовал. Я не пойму никак название команды.
Что нужно прописать?
просто я прошу ткнуть меня в механизм через который это сделать правильно.Код: Выделить всё
#как должен выглядеть роутер перед умолчальным на домен? special_route: driver = manualroute # domains = ! +local_domains resipients = /usr/local/etc/exim/special_recipients_list # <- вот так что-ли указать? так не работает :) transport = remote_smtp route_list = example.com 192.168.1.2 #вот роутер на домен по умолчанию example_route: driver = manualroute domains = ! +local_domains transport = remote_smtp route_list = example.com 192.168.1.3
опции rsipients я в роутере не нашел и думаю exim меня не поймет...
Код: Выделить всё
resipients = /usr/local/etc/exim/special_recipients_list
Код: Выделить всё
condition = {${lookup{$recipient_address}lsearch{../file}{True}{False}
- Morty
- ст. лейтенант
- Сообщения: 1370
- Зарегистрирован: 2007-07-17 23:25:12
Re: Помогите написать роутер в EXIM.
оо меня опередили