PHP 从 LDAP 获取电子邮件地址的代码

PHP code to get Email Addresses from LDAP

是否可以获取存储在 LDAP 中的电子邮件地址并通过 PHP 发送邮件?名称将保存在下拉框中。一旦我们从下拉列表中选择了一个名称,就应该从 LDAP 中选择相应的电子邮件 ID,并向其发送一封邮件。

是的,您可以使用 PHP 访问 LDAP(默认情况下未启用 PHP 中的 LDAP 支持。您需要使用 --with-ldap[=DIR] 配置选项)

这是有关该主题的完整 PHP 文档:(http://php.net/manual/en/book.ldap.php)

这是一个基本示例,您可以如何访问 LDAP 并从 PHP 的文档中检索信息。

<?php
// basic sequence with LDAP is connect, bind, search, interpret search
// result, close connection

echo "<h3>LDAP query test</h3>";
echo "Connecting ...";
$ds=ldap_connect("localhost");  // must be a valid LDAP server!
echo "connect result is " . $ds . "<br />";

if ($ds) { 
    echo "Binding ..."; 
    $r=ldap_bind($ds);     // this is an "anonymous" bind, typically
                           // read-only access
    echo "Bind result is " . $r . "<br />";

    echo "Searching for (sn=S*) ...";
    // Search surname entry
    $sr=ldap_search($ds, "o=My Company, c=US", "sn=S*");  
    echo "Search result is " . $sr . "<br />";

    echo "Number of entries returned is " . ldap_count_entries($ds, $sr) . "<br />";

    echo "Getting entries ...<p>";
    $info = ldap_get_entries($ds, $sr);
    echo "Data for " . $info["count"] . " items returned:<p>";

    for ($i=0; $i<$info["count"]; $i++) {
        echo "dn is: " . $info[$i]["dn"] . "<br />";
        echo "first cn entry is: " . $info[$i]["cn"][0] . "<br />";
        echo "first email entry is: " . $info[$i]["mail"][0] . "<br /><hr />";
    }

    echo "Closing connection";
    ldap_close($ds);

} else {
    echo "<h4>Unable to connect to LDAP server</h4>";
}
?>