Wanderlustで、ActiveDirectoryを引いてアドレス補完をする

WanderlustにはLDAPを利用してメールアドレスを補完する機能があります。

んで、WindowsのActiveDirectoryはLDAPを喋れるらしく、同僚にldapsearchする方法を教えてもらったのでwlから引けるようにしてみました。

(setq wl-use-ldap t
      wl-ldap-server "ADのサーバ名"
      wl-ldap-port "389"
      wl-ldap-base "OU=このへんは,DC=状況に,DC=あわせて,DC=変更")
(setq my-ldap-passwd-file "~/.ldappw"
      my-ldap-passwd
      (if (file-readable-p my-ldap-passwd-file)
          (with-temp-buffer nil
                            (insert-file-contents my-ldap-passwd-file)
                            (buffer-string))
        nil))
(setq ldap-host-parameters-alist
      (list (list "ADのサーバ名"
                  'binddn "ADドメイン名\\自分のユーザ名"
                  'passwd my-ldap-passwd))
      ldap-coding-system 'utf-8)

見ての通りパスワードはファイルにぺろっと書いてあるわけなんですが、どんなのダサーイということでエライ人にwl起動時に対話的に入力させるコードを教えてもらいました。m(_ _)m

(setq wl-use-ldap t
      wl-ldap-server "ADのサーバ名"
      wl-ldap-port "389"
      wl-ldap-base "OU=このへんは,DC=状況に,DC=あわせて,DC=変更")
(let* ((binddn "ADドメイン名\\自分のユーザ名")
       (passwd (elmo-read-passwd (format "Password for %s: " binddn))))
  (setq ldap-host-parameters-alist
        (list (list "ADのサーバ名"
                    'binddn binddn
                    'passwd passwd))
        ldap-coding-system 'utf-8))

これで新人が入る度に~/.addressesをちくちくいじらなくてよくなりました〜