require 'rubygems'
require 'net/ldap'
ldap = Net::LDAP.new :host => "zimbra-ldap.example.com",
:port => "389",
:base => "ou=people,DC=example,DC=com",
:auth => {
:method => :simple,
:username => "uid=zimbra,cn=admins,cn=zimbra",
:password => "s0Mep@sSw0rD"
}
filter = Net::LDAP::Filter.eq("displayName", "*")
filter2 = Net::LDAP::Filter.eq("objectClass", "zimbraAccount")
joined_filter = Net::LDAP::Filter.join(filter, filter2)
treebase = "ou=people,dc=example,dc=com"
ldap.search(:base => treebase, :filter => joined_filter) do |entry|
print "NAME: #{entry.displayName} "
print "MAIL: #{entry.zimbraMailDeliveryAddress} "
puts
end