Mutt LDAP-Query
Version vom 16. Mai 2009, 15:28 Uhr von Stella (Diskussion | Beiträge)
ja, man kann LDAP richtig schön in Mutt integrieren. Dazu das folgende Skript (basiert auf dem von [1]) irgendwo als mutt_query ablegen:
#!/usr/bin/perl
use strict;
use Net::LDAP;
use constant HOST => 'domina.zerties.org';
use constant BASE => 'dc=zerties,dc=org';
use constant USERNAME => 'cn=Stefan Siegl,ou=Zerties,ou=People,dc=zerties,dc=org';
use constant PASSWORD => 'xxxxxxxx';
use constant VERSION => 3;
use constant SCOPE => 'sub';
my $name;
my @attributes = qw( dn givenName sn mail );
{
print "Searching directory... ";
$name = shift || die "Usage: $0 filter\n";
my $filter = "(|(sn=*$name*)(givenName=*$name*)(mail=*$name*))";
my $ldap = Net::LDAP->new( HOST, onerror => 'die' )
|| die "Cannot connect: $@";
$ldap->bind( USERNAME,
version => VERSION, password => PASSWORD ) or die "Cannot bind: $@";
my $result = $ldap->search( base => BASE,
scope => SCOPE,
attrs => \@attributes,
filter => $filter
);
my @entries = $result->entries;
$ldap->unbind();
print scalar @entries, " entries found.\n";
foreach my $entry ( @entries ) {
my @emailAddr = $entry->get_value('mail');
foreach my $addr (@emailAddr) {
print $addr , "\t";
print $entry->get_value('givenName'), " ";
print $entry->get_value('sn'), "\t \n";
}
}
}
Und in der .muttrc die folgende Zeile einfügen:
set query_command = "ldap_query '%s'"
Ggf. noch ein
apt-get install libnet-ldap-perl
Und du solltest wie gewohnt mit Q die Adressen abfragen können, nun jetzt halt aus dem LDAP-Verzeichnis