URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 95759
[ Назад ]

Исходное сообщение
"Вопрос по роутерам exim"

Отправлено ikarus , 04-Сен-14 08:02 
Есть exim, и есть у него в числе прочих два роутера:

gmail_route:
driver = manualroute
domains = ! +local_domains : +gmail_domains
transport = gmail_relay
route_list = * smtp.gmail.com
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8

dnslookup:
driver = dnslookup
domains = ! +local_domains : ! +gmail_domains
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

первый работает через внешний smtp, но только для адресатов с доменами, определенными в +gmail_domains, второй для всех остальных. Вопрос! Как сделать чтобы изначально работал роутер dnslookup, и только при условии невозможности доставки включался gmail_route? Т.е. можно ли как то например привязать сюда повторы отправки, т.е. например по окончанию всех повторов, если письмо так и не ушло, пробовать отправлять через gmail_route??
з.ы. Или это лучше делать на уровне транспорта??


Содержание

Сообщения в этом обсуждении
"Вопрос по роутерам exim"
Отправлено Bosh , 04-Сен-14 13:33 
1 Порядок важен 1 dnslookup 2 gmail_route

2 изменение одно condition = ${if < {$message_age}{90}}
логика работы
dnslookup работает с письмами в очереди возраст которых меньше 90 сек (можно ест   поменять)  
если письмо не доставилось (>>т.е. например по окончанию всех повторов, если письмо так и не ушло) и его возраст в очереди больше 90 сек будет задействован gmail_route идущий следом за dnslookup

dnslookup:
driver = dnslookup
domains = ! +local_domains : ! +gmail_domains
condition = ${if < {$message_age}{90}}
transport = remote_smtp
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
no_more

gmail_route:
driver = manualroute
domains = ! +local_domains : +gmail_domains
transport = gmail_relay
route_list = * smtp.gmail.com
ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8

>[оверквотинг удален]
> transport = remote_smtp
> ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
> no_more
> первый работает через внешний smtp, но только для адресатов с доменами, определенными
> в +gmail_domains, второй для всех остальных. Вопрос! Как сделать чтобы изначально
> работал роутер dnslookup, и только при условии невозможности доставки включался gmail_route?
> Т.е. можно ли как то например привязать сюда повторы отправки, т.е.
> например по окончанию всех повторов, если письмо так и не ушло,
> пробовать отправлять через gmail_route??
> з.ы. Или это лучше делать на уровне транспорта??


"Вопрос по роутерам exim"
Отправлено ikarus , 05-Сен-14 06:11 
Отлично, как раз подобную переменную я для кондишина и не мог найти... плохо искал, спасибо

>[оверквотинг удален]
>> transport = remote_smtp
>> ignore_target_hosts = 0.0.0.0 : 127.0.0.0/8
>> no_more
>> первый работает через внешний smtp, но только для адресатов с доменами, определенными
>> в +gmail_domains, второй для всех остальных. Вопрос! Как сделать чтобы изначально
>> работал роутер dnslookup, и только при условии невозможности доставки включался gmail_route?
>> Т.е. можно ли как то например привязать сюда повторы отправки, т.е.
>> например по окончанию всех повторов, если письмо так и не ушло,
>> пробовать отправлять через gmail_route??
>> з.ы. Или это лучше делать на уровне транспорта??