День добрый.

Понадобилось мне сделать несколько извратную настройку почты, в которой 
используется smart host (или несколько этих "умных хостов"). Казалось бы все 
просто - добавляем роутер, в котором формируем список хостов получателей, 
добавляем в транспорт hosts_require_auth в auth добавляем client_send и 
радуемся.

Но как обычно, не все так просто - у меня получился вот такой plain авторизатор.

  plain:
    driver = plaintext
    client_send = ${lookup{$host}lsearch{CONFDIR/auth-virtual-client} 
{${reduce{$value}{}{$value^$item}}} {}}
    public_name = PLAIN
    server_condition = ${lookup{$auth2}lsearch{CONFDIR/auth-virtual-server} 
{${if crypteq{$auth3}{$value}}} {false}}

в файле CONFDIR/auth-virtual-client лежит
host: login:password

А вот так выглядит router:
  smart_host:
    driver = manualroute
    transport = remote_smtp
    domains = ! +local_domains
    route_data = ${lookup{$domain}lsearch*{CONFDIR/smart-hosts}}
    verify = no

в CONFDIR/smart-host:
*: mail.p.nyaka.org

Проблема в том, что mail.p.nyaka.org - это CNAME(этого я изменить не могу), и 
разворачивается он в real-mta.p.nyaka.org(к примеру). И в момент, когда exim 
пытается найти login/password для авторизации, у него в $host находится 
real-mta.p.nyaka.org (роутер вернул mail.p.nyaka.org).

И вот я не могу придумать как это исправить... "убрать" cname из имени которое 
используется для smart-host'ов я не могу, отказаться от авторизации на них 
тоже, плюс cname время от времени меняется, что отменяет возможность 
"разрешить" его заранее и пользовать ip адрес вместо имени хоста.

ЗЫ smart-host'ов будет более одного, и login/password на них разные.
_______________________________________________
Exim-users mailing list
Exim-users@mailground.net
http://mailground.net/mailman/listinfo/exim-users

Ответить