Většina poštovních klientů umí použít adresářový server jako zdroj pro získávání kontaktů. Protože používám Thunderbird a Mutt, uvedu zde jejich konfiguraci.
Thunderbird
Jako zdroj pro kontakty si přídáme LDAP následujícím postupem.
- Pustíme Thunderbird a otevřeme adresář (Ctrl+2)
- V adresáři zvolíme File->New->LDAP Directory…
- Vyplníme údaje potřebné pro připojení k LDAP serveru
- Name: ldap.example.net
- Hostname: ldap.example.net
- Base DN: ou=people,dc=example,dc=net
- Na screenshotu je vyplněná ještě položka Bind DN. Tato položka umožní přihlášení k LDAPu pod konkrétním uživatelem. Využijete jí, pokud máte v LDAPu zakázán anonymní přístup. O heslo budete požádání při prvním přístupu do LDAPu.
- Dále si zapneme automatické doplňování adres i pro LDAP
- V Thunderbirdu zvolíme v menu Edit->Preferences
- Na záložce Composition si zaškrtněte v sekci Address Autocompletion i položku Directory Server.
Mutt
Mutt je jeden z nejpoužívanějších textových MUA v UNIXovém světě. I mutt umí spolupracovat s LDAPem při výběru adres během psaní nového emailu. Sice neumí s LDAPem spolupracovat nativně, ale přes pomocný skript, ale to nám přece nevadí :-). Na Internetu nalezenete různé skripty, jeden z nich sem dám jako příklad. Návod na rozchození je na začátku skriptu. Pokud se nemusíte k LDAPu přihlašovat jménem a heslem, nechte nastavení prázdné ($username = “”;, $password = “”;).
#! /usr/bin/perl -Tw # 2005-02-24: Fixed for AD/Exchange 2003 & Unicode characters, # anders@bsdconsulting.no If you find this script useful, let me know. :-) # # 2000/2001: Original version obtained from Andreas Plesner Jacobsen at # World Online Denmark. Worked for me with Exchange versions prior to Exchange # 2000. # # Use it with mutt by putting in your .muttrc: # set query_command = "/home/user/bin/mutt-ldap.pl '%s'" # # Then you can search for your users by name directly from mutt. Press ^t # after having typed parts of the name. Remember to edit configuration # variables below. use strict; use Encode qw/encode decode/; use vars qw { $ldapserver $domain $username $password $basedn }; # --- configuration --- $ldapserver = "domaincontroller.yourdomain.com"; $domain = "YOURDOMAIN"; $username = "myuser"; $password = "mypassword"; $basedn = "ou=companyxy,dc=companyxy,dc=tld"; # --- end configuration --- #my $search=shift; my $search=encode("UTF-8", join(" ", @ARGV)); if (!$search=~/[\.\*\w\s]+/) { print("Invalid search parameters\n"); exit 1; } use Net::LDAP; my $ldap = Net::LDAP->new($ldapserver) or die "$@"; $ldap->bind("$domain\\$username", password=>$password); my $mesg = $ldap->search ( base => $basedn, filter => "(|(cn=*$search*) (rdn=*$search*) (uid=*$search*) (mail=*$search*))", attrs => ['mail','cn'] ); $mesg->code && die $mesg->error; print(scalar($mesg->all_entries), " entries found\n"); foreach my $entry ($mesg->all_entries) { if ($entry->get_value('mail')) { print($entry->get_value('mail'),"\t", decode("UTF-8", $entry->get_value('cn')),"\tFrom Exchange LDAP database\n"); } } $ldap->unbind;
Comments are closed.