Exim - Отправка почты из Exim через несколько SMTP
Модератор: xM
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- проходил мимо
Exim - Отправка почты из Exim через несколько SMTP
Добрый день
Подскажите, как организовать следующее:
1. Вся почта на фирме должна отправляться не MX доставкой, а доставкой через 2 SMTP релея (a.a.a.a и b.b.b.b)
2. Отправляемая почта кидается на a.a.a.a Если он недоступен - то на b.b.b.b
3. Все почта для домена a.ua отправляется на b.b.b.b, если он недоступен - то на a.a.a.a
Помогите настроить
Спасибо!
Подскажите, как организовать следующее:
1. Вся почта на фирме должна отправляться не MX доставкой, а доставкой через 2 SMTP релея (a.a.a.a и b.b.b.b)
2. Отправляемая почта кидается на a.a.a.a Если он недоступен - то на b.b.b.b
3. Все почта для домена a.ua отправляется на b.b.b.b, если он недоступен - то на a.a.a.a
Помогите настроить
Спасибо!
Услуги хостинговой компании 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/
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: Exim - Отправка почты из Exim через несколько SMTP
тут завис расшифруйтедолжна отправляться не MX доставкой
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Наверное, коряво выразился
Имеется ввиду что почта не должна отправляться Exim ом напрямую на получателя, а должна футболиться на 2 промежуточных SMTP
Когда почта отправлячется напрямую от меня некоторые получатели футболят с заявлением о том, чтобы я отправлял почту через SMTP своего провайдера
Провайдер пошел навстречу и открыл релей через себя для нас.
Имеется ввиду что почта не должна отправляться Exim ом напрямую на получателя, а должна футболиться на 2 промежуточных SMTP
Когда почта отправлячется напрямую от меня некоторые получатели футболят с заявлением о том, чтобы я отправлял почту через SMTP своего провайдера
Провайдер пошел навстречу и открыл релей через себя для нас.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Да, exim был поднят и настроен по статье "Связка exim и dovecot с веб интерфейсом postfixadmin"
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Нашел в Exim FAQ
Для того, чтобы вызывались последовательно 2 smtp в случае ошибки их надо написать один за другим?
+ остается открытым вопрос о очередности smtp серверов для a.ua =(
Код: Выделить всё
send_to_gateway:
driver = manualroute
domains = !+local_domains
transport = remote_smtp
route_list = * gate.way.host
+ остается открытым вопрос о очередности smtp серверов для a.ua =(
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Роутеры срабатывают одновременно. Т.е. произойдет 2-е отправки сразу.Для того, чтобы вызывались последовательно 2 smtp в случае ошибки их надо написать один за другим?
Транспорт же, выполняет уже заведомо предопределённые действия на те или иные ошибки.
Либо перестаёт отправлять почту совсем (Постоянная ошибка - нет такого пользователя, доступ запрещен и т.п.), либо ждет последующую доставку.(Если ошибка временная.)
Я бы наверное подумал над перехватом соединений и их балансировкой. Exim сам это сделать сможет, только я не совсем понимаю как.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Как-то сложно -)
Неужели нет простого механизма перебора smtp серверов в случае отказов?
Неужели нет простого механизма перебора smtp серверов в случае отказов?
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Списки рассылки есть, отпишись туда, может поможет.Гость писал(а):Как-то сложно -)
Неужели нет простого механизма перебора smtp серверов в случае отказов?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Роутеры срабатывают последовательно, причем срабатывают только если письмо из предыдущего роутера вышло(параметра которые они возвращают можно почитать в мануале).dikens3 писал(а):Роутеры срабатывают одновременно. Т.е. произойдет 2-е отправки сразу.Для того, чтобы вызывались последовательно 2 smtp в случае ошибки их надо написать один за другим?
Транспорт же, выполняет уже заведомо предопределённые действия на те или иные ошибки.
Либо перестаёт отправлять почту совсем (Постоянная ошибка - нет такого пользователя, доступ запрещен и т.п.), либо ждет последующую доставку.(Если ошибка временная.)
Я бы наверное подумал над перехватом соединений и их балансировкой. Exim сам это сделать сможет, только я не совсем понимаю как.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Спасибо
Отправил запрос, посмотрим...
Отправил запрос, посмотрим...
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Т.е. сработают либо оба одновременно, либо ни одного? (данный случай имею ввиду.)neyro писал(а):Роутеры срабатывают последовательно, причем срабатывают только если письмо из предыдущего роутера вышло(параметра которые они возвращают можно почитать в мануале).dikens3 писал(а):Роутеры срабатывают одновременно. Т.е. произойдет 2-е отправки сразу.Для того, чтобы вызывались последовательно 2 smtp в случае ошибки их надо написать один за другим?
Транспорт же, выполняет уже заведомо предопределённые действия на те или иные ошибки.
Либо перестаёт отправлять почту совсем (Постоянная ошибка - нет такого пользователя, доступ запрещен и т.п.), либо ждет последующую доставку.(Если ошибка временная.)
Я бы наверное подумал над перехватом соединений и их балансировкой. Exim сам это сделать сможет, только я не совсем понимаю как.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Неважно, что сработают оба, если первый не работает.
Представляю где-то так:
роурер1: если письмо домену a.ua = отправляем через b.b.b.b
роутер2: если (отправка через роутер1 ошибка) или (письмо не домену a.ua) - отправка через a.a.a.a
роутер3: если (отправка через роутер2 ошибка) и (письмо не домену a.ua) - отправка через b.b.b.b
осталось понять, как это сделать все
Представляю где-то так:
роурер1: если письмо домену a.ua = отправляем через b.b.b.b
роутер2: если (отправка через роутер1 ошибка) или (письмо не домену a.ua) - отправка через a.a.a.a
роутер3: если (отправка через роутер2 ошибка) и (письмо не домену a.ua) - отправка через b.b.b.b
осталось понять, как это сделать все
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Блин..ну когда уже люди начнут читать мануалы...
вот подробное описание принципа работы роутеров:
http://docs.exim.org/4.10/spec_3.html#SECT3.7
п.с а это пример того(из офф мануала эксима), что нужно автору.
вот подробное описание принципа работы роутеров:
http://docs.exim.org/4.10/spec_3.html#SECT3.7
п.с а это пример того(из офф мануала эксима), что нужно автору.
Q9808: I have a mailing list exploder on one host, and three other hosts where I want to do the actual deliveries from. How can I get Exim to split a message into groups of recipients between the three hosts?
A9808: Set up a router that routes all remote addresses to a specific transport, with a list of your three hosts. For example:
send_to_three:
driver = manualroute
transport = to_three_smtp
route_list = !+local_domains hostA:hostB:hostC
The transport looks like this:
to_three_smtp:
driver = smtp
hosts_randomize
By setting hosts_randomize, you request that the host list be sorted randomly each time the transport is called, in order to spread the load. The number of times the transport is called for each message depends on the setting of the global option remote_max_parallel. If it is set to 1, the transport is called only once for each message, so only one host is used, but different messages use different hosts because of the randomizing.
The max_rcpt option (default 100) controls the number of addresses sent in each copy of the message - several copies are sent over the same connection if necessary.
If you want individual messages to be split between the three hosts, you must set the global option remote_max_parallel to 3. This allows Exim to run 3 separate instances of the transport at once. It will pass one-third of all the addresses to each instance. Because the host list is randomized, not round-robinned, there is no guarantee that a single message will use all three hosts, but on average it should.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Спасибо за инфу
Навскидку прочел что раскидывает между хостами для отправки в случайном порядке. Завтра докурю до конца
Навскидку прочел что раскидывает между хостами для отправки в случайном порядке. Завтра докурю до конца
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
Полагаю, что это не подойдёт.RainBoyKharkov писал(а):Спасибо за инфу
Навскидку прочел что раскидывает между хостами для отправки в случайном порядке. Завтра докурю до конца
Ибо:
Если доставка на HOST A, вызывает постоянную ошибку (550 к примеру): - Должен ли Exim использовать ХОСТ Б? И будет ли, при наличии рекомендуемой опции hosts_randomize?
Ключевые слова в сообщении автора я считаю следующие:
Отсюда главный вопрос который автор должен задать себе и найти на него ответ:Если он недоступен
Что делает Exim (транспорт smtp) когда встречает временную/постоянную ошибку доставки?
Нет там если. Сработают оба и произойдет 2-е доставки.Неважно, что сработают оба, если первый не работает.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Ключевое вы все правильно поняли
Если хост А почту отослать не в состоянии (недоступен, реджект итп - все что угодно) - отправка через хост Б
Для определенного домена - хост Б, потом хост А
Если хост А почту отослать не в состоянии (недоступен, реджект итп - все что угодно) - отправка через хост Б
Для определенного домена - хост Б, потом хост А
-
- сержант
- Сообщения: 187
- Зарегистрирован: 2008-03-07 20:24:25
- Контактная информация:
Re: Exim - Отправка почты из Exim через несколько SMTP
в 100-й раз...читаем мануал...там есть все, что нужно...(а точнее -опции роутеров и транспортов, что происходитв случае defer и т.д.)
-
- проходил мимо
Re: Exim - Отправка почты из Exim через несколько SMTP
Порешал
Помогли рассылки
Перед dnslookup роутером поставить:
В CONFDIR ( в случае debian это /etc/exim4/ ) создать файл hubbed_hosts,
в котором прописать:
Помогли рассылки
Перед dnslookup роутером поставить:
Код: Выделить всё
hubbed_hosts:
debug_print = "R: hubbed_hosts for $domain"
driver = manualroute
domains = "${if exists{CONFDIR/hubbed_hosts}\
{partial-lsearch;CONFDIR/hubbed_hosts}\
fail}"
same_domain_copy_routing = yes
route_data = ${lookup{$domain}partial-lsearch{CONFDIR/hubbed_hosts}}
transport = remote_smtp
в котором прописать:
Код: Выделить всё
a.ua: b.b.b.b:a.a.a.a
*: a.a.a.a:b.b.b.b