| Current Path : /var/www/html/mmishra/indem/scripts/php/ |
| Current File : /var/www/html/mmishra/indem/scripts/php/mailinglist_create.php |
<?php
$ds = ldap_connect("ldap.iiita.ac.in");
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
//fwrite(STDOUT, "Please enter mailing list name\n");
// Read the input
echo "Enter List Name: ";
$listname = fgets(STDIN);
$listname = str_replace("\n","",$listname);//to remove \n character
echo "Enter Description: ";
$desc = fgets(STDIN);
$desc = str_replace("\n","",$desc);
echo "Moderation Required? [y/n]: ";
$mod = fgets(STDIN);
$mod = str_replace("\n","",$mod); //to remove \n character
echo "Proceed with Creation? [y/n]: ";
$confirm = fgets(STDIN);
$confirm = str_replace("\n","",$confirm);//to remove \n character
if ($confirm == "y"){
echo $listname . " List creation in progress...\n";
//$command = "rm -r /mail/lists/$listname";
$command = "rm -r /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname";
$output = shell_exec($command);
echo "Mailstore removed... $command >> $output\n";
//$command = "mkdir -p /mail/lists/$listname";
$command = "mkdir -p /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname";
$output = shell_exec($command);
echo "Mailstore created... $command >> $output\n";
if ($mod == "y") $options = "-fikmsty";
else $options = "-fiksty";
echo "Options set... $options\n";
//$command = "/usr/local/bin/ezmlm/ezmlm-make $options -5 postmaster@lists.iiita.ac.in /mail/lists/$listname/list /mail/lists/$listname/.qmail $listname lists.iiita.ac.in";
$command = "/usr/local/bin/ezmlm/ezmlm-make $options -5 postmaster@lists.iiita.ac.in /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/list /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/.qmail $listname lists.iiita.ac.in";
$output = shell_exec($command);
echo "Maillist created... $command >> $output\n";
//$command = "/usr/local/bin/ezmlm/ezmlm-sub /mail/lists/$listname/list/mod postmaster@lists.iiita.ac.in";
$command = "/usr/local/bin/ezmlm/ezmlm-sub /opt/arithme/mailstore/mail.iiita.ac.in/lists/$listname/list/mod postmaster@lists.iiita.ac.in";
$output = shell_exec($command);
echo "Postmaster registered... $command >> $output\n";
}else{
exit("Aborted.");
}
exit;
//create ldap account
$ou = "ou=mailinglist,dc=iiita,dc=ac,dc=in";
if ($ds){
echo "LDAP account creation for mailing list...\n";
// bind with appropriate dn to give update access
$r = ldap_bind($ds, "cn=Manager,dc=iiita,dc=ac,dc=in", "\$dollfinn");
$dn = "uid=$listname,$ou";
$r = ldap_delete($ds, $dn);
//=========attributes to be added
$info["accountStatus"] = "nopop";
$info["cn"] = strtoupper($listname) . " Mailing List";
$info["description"] = "$desc";
$info["gidNumber"] = "9903";
$info["homeDirectory"] = "/mail/lists/$listname";
$info["mail"] = "$listname@lists.iiita.ac.in";
$info["mailalternateaddress"] = "$listname-catchall@lists.iiita.ac.in";
$info["mailHost"] = "mail.iiita.ac.in";
$info["mailMessageStore"] = "/mail/lists/$listname";
$info["noHomeDirectory"] = "/mail/lists/$listname";
$info["objectClass"][0] = "top";
$info["objectClass"][1] = "person";
$info["objectClass"][2] = "posixAccount";
$info["objectClass"][3] = "shadowAccount";
$info["objectClass"][4] = "inetOrgPerson";
$info["objectClass"][5] = "organizationalPerson";
$info["objectClass"][6] = "ibm-auxAccount";
$info["objectClass"][7] = "qmailUser";
$info["objectClass"][8] = "mailingList";
$info["qmailDotMode"] = "dotonly";
$info["sn"] = "List";
$info["uid"] = "$listname";
$info["uidNumber"] = "9903001";
$r = ldap_add($ds, $dn, $info);
if ($r) echo $dn . " -- " . $listname . "@lists.iiita.ac.in successfully created.\n";
else echo $dn . " -- " . $listname . "@lists.iiita.ac.in could not be created.\n";
}
ldap_close($ds);
?>