Есть 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/8dnslookup:
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??
з.ы. Или это лучше делать на уровне транспорта??
1 Порядок важен 1 dnslookup 2 gmail_route2 изменение одно condition = ${if < {$message_age}{90}}
логика работы
dnslookup работает с письмами в очереди возраст которых меньше 90 сек (можно ест поменять)
если письмо не доставилось (>>т.е. например по окончанию всех повторов, если письмо так и не ушло) и его возраст в очереди больше 90 сек будет задействован gmail_route идущий следом за dnslookupdnslookup:
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_moregmail_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??
> з.ы. Или это лучше делать на уровне транспорта??
Отлично, как раз подобную переменную я для кондишина и не мог найти... плохо искал, спасибо>[оверквотинг удален]
>> 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??
>> з.ы. Или это лучше делать на уровне транспорта??