QmailAdmin written in PHP, for those who want to control Qmail+vpopmail directly from PHP.
PHP extension to access the vpopmail library.
The PECL vpopmail extension extended to provide quite a few new functions which allow a program like QmailAdmin to be written in PHP. This only works with a patched version of the latest development code. Once the patch has been merged, and added to at least the MySQL back end, I will submit it back to PECL. 
I will also write an object that matches the vpopmaild-php object so pMailAdmin can use either method to control vpopmail.
Changes by Rick Widmer 1. php_vpopmail.c 66,68: Force mode 2 on HAVE_VPOPMAIL_API because the current version check seems broken, and did not set the right value for vpopmail 5.4. I cheated and just forced the value. The version check should be fixed, and some of the stuff I am adding will only work with the latest version of vpopmail. (Released 1 Feb 2004) 2. vpopmail_auth_user now returns a vqpasswd structure converted into a PHP array if the authentication succeeds. It still returns false on failure, so a simple true/false check will still work, but you can also record info about the user, like the long name. Try a print_r() on the return value to see what you get. 3. Add vpopmail_get_limits, vpopmail_set_limits, vpopmail_del_limits, vpopmail_lastauth_get, vpopmail_lastauth_set, vpopmail_lastauthip_get, vpopmail_ip_map_get, vpopmail_ip_map_add, vpopmail_ip_map_del, vpopmail_ip_map_show, vpopmail_auth_getpw, vpopmail_auth_getall. 4. Remove domainadd, domaindel and domain_alias_add. 5. Change the order of parameters so $Domain is always first in every function call. If needed $User, the user or incoming email address you are working on. NOTE: domainadd, domaindel and domain_alias_add do not work. use the vpopmail programs instead. The problem is permissions when updating /var/qmail/users/* and signaling qmail. The vpopmail user can't do that so it can't be done directly under apache. I am looking for loopholes...
 If you want to submit this to PECL, please look at the items in TODO first. I don't mind, but don't consider it complete enough yet.
©2004 - Rick Widmer|
Released under the PHP License