NOTE:  Many quotes are from the wiki.

aichains wrote:

I've included sections on feature requests, and "bugs" that I came across (bugs _may_ be defined as features I do not understand how to use).


add/del/list alias --  added

add/del/list forwards -- forwards are obsolete.  Use an alias instead.

get_lastauth replaced by user_info -- This change does not match the underlying structure of vpopmail. As I see it the daemon is supposed to make the api available via a service, not re-define it. This probably won't happen within the daemon unless vpopmail changes. I do the re-mapping at the vpopmail_util level.

stat_dir that computes usage for a maildir. -- Good idea, If someone can show me a way that will work on all systems I'll add it. Again don't expect the behavior of user_info to change.


1. add_domain leaves reminants if password bad. -- fixed If the user add fails, it calls vdeldomain.

2. invalid command rename_file. -- fixed  Added the command.

3. invalid command stat_file. -- fixed  Bill Shupp added this one.

4. alias wierdness. -- fixed mostly. I have seen a segfault when managing aliases, but I can't reproduce it on demand.

5. no_pop is not a valid domain_limits option. -- fixed Not it gives a warning. you will

6. get_lastauth needs termination code. -- fixed

The updates I made are geared towards a programmer attempting to implement a GUI replacement for qmailadmin, centered around vpopmaild.

Some things you missed...

compact mode. When you login you can add compact to the login string and all bitmap values will be sent as a number instead of being expanded into one line per bit. This speeds up transferring a typical user list by quite a bit. I've added a note about this in the wiki.

I have an object that handles all the low level access to vpopmaild, and the beginning of another package that manages common email actons available on SourceForge. I've added a link in the wiki.

* Also note you must send the fully qualified path. Tilde $HOME
> shortcut, and symlink targets don't work.

i.e. ln -s /usr/local/vpopmail/domains /domains and then send
> "list_dir /domains" won't work.

Those don't work, but these do:



list_dir [EMAIL PROTECTED]/Maildir/new/


You may have missed them because they fail without the trailing /. The last two appear equivalent on small installations, but only the first will work if there are enough users for vpopmail to start hashing directories.

Remember cdb aliases, mail robots and mailing lists are stored in the directory. Use the [EMAIL PROTECTED] form to access individual mail addresses.

You can also specify a file:


These examples will work even if there are enough users or domains to cause multiple hash directories to be created. I strongly suggest using this method for all file access. I also hope to add alias handling for all backends, mail robot and mailing list support so you don't have to use this kind of low level access most of the time.

>  find_domain
    *  Not really sure how useful this is...
    * Someone tell me what the page # is, I guess I don't have enough
>       domains added to this test box right now to see it in action.
    * is an alias domain I added earlier, and it's page # is
>       zero, but the real domain that corresponds to it is page1...

Page and per-page are used for breaking up a long list of domains or users. The per-page variable should not be optional in find_domain. You should pick a value for per-page and stick to it in all calls. Say you have 18 domains, 001 to 018 and you are using per-page = 5. The domains would appear like this:

page 1          page 2          page 3          page 4
001             006             011             016     
002             007             012             017
003             008             013             018
004             009             014
005             010             015

If you do list_domains 2 5  -- domains 006 through 101 are returned.

if you do find_domain 013  -- page 3 is returned.

vpopmail maintains the users or domains in sorted order, and can return a single page.

 list_users domain<crlf>

List_users has page and per-page parameters that work the same way as domains. There is now a blank line between users. Compact mode makes the user list much smaller!

 get_lastauth [EMAIL PROTECTED]<crlf>

The terminating character bug has been fixed. Note that this only counts pop and imap logins. It does not count qmailadmin or vpopmaild logins. I'm not sure if it counts smtp auth logins, but it probably could do that easier than getting the ip of a courier imap connection.


Reply via email to