Страница 1 из 1

Exim + LDAP, Взять первое значение

Добавлено: 2009-05-29 16:29:19
panda_jj
Есть запись пользователя uid=user,dc=my-company,dc=net
У него есть два поля mail
mail: user@my-company.net
mail: user@company.net
Надо взять первое значение "user@my-company.net"
При таком запросе

Код: Выделить всё

${lookup ldap{size="1" ldap://LDAP_SRV/uid=user,dc=my-company,dc=net?mail?sub?}}
возвращаются оба значения user@my-company.net, user@company.net

Re: Exim + LDAP, Взять первое значение

Добавлено: 2009-05-31 22:32:09
Alex Keda
кондишен целиком покажите.
=======
и прочтите правила оформления сообщений, вверху любой страницы форума.

Re: Exim + LDAP, Взять первое значение

Добавлено: 2009-06-01 9:53:41
panda_jj
Вобщем-то суть вопроса заключается в запросе с первого поста

Полный запрос выглядит так:

Код: Выделить всё

        data = ${sg {${map {${sg{${lookup \
                 ldap{ldap://LDAP_SRV\
                  /ou=MailGroup,LDAP_DOMAIN\
                  ?member\
                  ?sub\
                  ?(mail=${quote_ldap:$local_part@$domain})}}}{, }{:}}}\
                  { \
                  ${lookup ldap{size="1" ldap://LDAP_SRV/$item?mail?sub?}} \
                  }}}{:}{, }}
Использую для отправки сообщений на группу. И если у человека есть алиас, то сообщение приходит дважды, а это не годится =(

Re: Exim + LDAP, Взять первое значение

Добавлено: 2009-06-01 10:47:07
Alex Keda
сделайте extract
по пробелу, с доставанием первого значения

Re: Exim + LDAP, Взять первое значение

Добавлено: 2009-06-01 12:21:50
panda_jj
Спасибо! Заработало как надо =)
Только разделитель не пробел, а запятая. Потомучто массив атрибутов возвращается как список
"user@my-company.net, user@company.net, <value>"

Код: Выделить всё

        data =  ${sg {${map {${sg{${lookup \
                 ldap{ldap://LDAP_SRV\
                  /ou=MailGroup,LDAP_DOMAIN\
                  ?member\
                  ?sub\
                  ?(mail=${quote_ldap:$local_part@$domain})}}}{, }{:}}}\
                  { \
                  ${extract{1}{,}{${lookup ldap{size="1" ldap://LDAP_SRV/$item?mail?sub?}}}} \
                  }}}{:}{,}}