+ -
当前位置:首页 → 问答吧 → 从LDAP获取邮箱列表

从LDAP获取邮箱列表

时间:2011-08-24

来源:互联网

不会PHP,下面的代码是从网上东拆西借拼凑的,倒是能用,但是有BUG,求助各位大侠帮忙。

背景描述:LDAP中每个账户都有对应的一个mail字段,记录了该员工的邮箱
需求描述:从LDAP服务器中获取HR部门所有员工的邮箱列表,在/home/test目录下生成对应文件
BUG描述:能获取到部分邮箱,但是不全,有一些没有写到文件中

不知道什么地方写错了,请指教(似乎只有75分了,看来还是要常来CSDN)


PHP code

<?php

$file = fopen("/home/test/maillist", "w");
// ldap bind
$ldapdn = 'somebody';
$ldappass = 'passwd';

// connect to ldap server
$ldapconn = ldap_connect("192.168.1.254", "389")
        or die("Could not connect to LDAP server.");

if ($ldapconn) {
    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldapdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        //list ldap mail
        $basedn = "OU=HR,DC=company,DC=com";
        $ldapmail = array("mail");
        $sr = ldap_search($ldapconn, $basedn, "objectClass=*", $ldapmail);
        $info = ldap_get_entries($ldapconn, $sr);

        for ($i = 0; $i < $info["count"]; $i++) {
            echo $info[$i]["mail"][0] . "\n";
            fwrite($file, $info[$i]["mail"][0] . "\n");
        }
    } else {
        echo "LDAP bind failed...";
    }
}
?>

作者: rooftop64   发布时间: 2011-08-24

沉了,自己顶一下

作者: rooftop64   发布时间: 2011-08-25